
$(function() {     
    
    
              
    
    
    //  End of shop javascript


    //Find out which module is currently active
    var currentmodule = $('div#module_container > h1:first').html();
    currentmodule = currentmodule.substring(8, 100);

    switch(currentmodule)
    {   
       case 'Image Library':
       //Delete an image after confirmation
        $("table#cms_folder_content > tbody > tr > td > a[href*=delfilename]").click(function(event){   
        event.preventDefault();  
        var answer = confirm("Really Delete?")   
            if (answer){
                $(this).parents("tr").hide();  
                $.get(this.href);
            }    
        });
       
       break;
       
       case 'Resource Management':
       //Delete a resource
        $("table#cms_folder_content > tbody > tr > td > a[href*=delfilename]").click(function(event){   
        event.preventDefault();  
        var answer = confirm("Really Delete?")   
            if (answer){
                $(this).parents("tr").hide();  
                $.get(this.href);
            }    
        });
       
       break;
       
       case 'Events': 
       $('.guestrow').hide();
       //Toggle user has paid for event
       $("table#cms_folder_content > tbody > tr > td.paidcolumn > a.toggle").click(function(event){ 
       event.preventDefault(); 
       var img = $(this).children('img');
       var url = $(this).attr('href').split('&');  
       if(img.attr('src') == 'gfx/file_icons/cross.gif') {
           var answer = confirm("Mark As Paid?") 
           if (answer){
           img.attr('src', 'gfx/file_icons/tick.gif'); 
           var newurl = 'index.php/events?action=markasunpaid&'+url[1]+'&'+url[2]+'&'+url[3];
           $.get(this.href);  
           $(this).attr('href', newurl); 
           }
       } else if(img.attr('src') == 'gfx/file_icons/tick.gif') {
           var answer = confirm("Mark As Unpaid?") 
           if (answer){
           img.attr('src', 'gfx/file_icons/cross.gif');
           var newurl = 'index.php/events?action=markaspaid&'+url[1]+'&'+url[2]+'&'+url[3]; 
           $.get(this.href);  
           $(this).attr('href', newurl);  
           }
       }

       });
       
       case 'Catalogue Management':
       
       $('h2.addshopimage').click(function(event) 
       {
            $("span.shopimageinputs").append('<input type="file" name="additional_images[]" /><br />');    
       });
       
       break;
       
       $("td.toggleguest > img.showmore").click(function(){  
        var delegaterow = $(this).parents('tr').attr('id'); 
        var rowspl = delegaterow.split('_');
        var rownum = rowspl[1];
        $('tr.subrow_'+rownum).toggle();
       });
       
       //Delete an event after confirmation         
        $("table#cms_folder_content > tbody > tr > td > a[href*=&delete_event_id]").click(function(event){  
        event.preventDefault();       
        var answer = confirm("Really Delete?")     
            if (answer){
                $(this).parents("tr").hide();
                notify_message('Event Deleted!');
                $.get(this.href);
            }
        });
       
       //Delete a voucher after confirmation         
        $("table#cms_folder_content > tbody > tr > td > a[href*=deletevoucher]").click(function(event){  
        event.preventDefault();       
        var answer = confirm("Really Delete?")     
            if (answer){
                $(this).parents("tr").hide();
                notify_message('Voucher Deleted!');
                $.get(this.href);
            }
        });
        
        //Delete a vat code after confirmation         
        $("table#cms_folder_content > tbody > tr > td > a[href*=delete_vat_code]").click(function(event){  
        event.preventDefault();       
        var answer = confirm("Really Delete?")     
            if (answer){
                $(this).parents("tr").hide();
                notify_message('VAT Code Deleted!');
                $.get(this.href);
            }
        });
        
        //Confirm Duplication        
        $("table#cms_folder_content > tbody > tr > td > a[href*=duplicate]").click(function(event){         
        var answer = confirm("Duplicate Event?")     
            if(!answer){
            event.preventDefault();    
            }
        });
       
        
       
       break;
       
   default:
       //??

       }
       
      

       
        //  Reset time dropdowns in Young Driver       
        $(".timerow").click(function(event){
            var row = $(this).parent().parent();
            $('select', row).each(function() {
                this.selectedIndex = 0; 
            });
        });
        
        //  Date picker
        $('.datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
        
        $('.datepicker').live('click', function() {
           $(this) .datepicker({ dateFormat: 'yy-mm-dd'}).focus();
           return false;
        });
        
        $(".draggable").draggable(
        { 
            snap            : true,
            snapMode        : 'both',
            tolerance       : 'fit',
            revert          : 'invalid',
            cursor          : 'move'
        }).resizable(
        { 
            disabled: false,
            handles: 'n, e, s, w' 
        });
        
        //$(".draggable").resizable();

        
        $(".available").droppable(
        {
            cursor      : 'move',
            hoverClass  : 'hoverdrag'
            //drop: function(event, ui) { $('.droppable').append('Element Dropped...'); }
        });
 
        //$("td.booked[title]").tooltip();
        
        $('#event_selector').change(function()
        {
           var event_id = $(this).val();

           $.getJSON('./ajax/cmsajax.php/?section=appointments&method=get_staff_for_event&event_id='+event_id, function(data)
           {    
                var options = '';
                
                for (var i = 0; i < data.staffmembers.length; i++) 
                {
                    options += '<option value="' + data.staffmembers[i].staff_id + '">' + data.staffmembers[i].fullname + '</option>';
                }

                $('#staff_selector').html(options);
                $('#dynamic_gridlink').attr('href', './index.php/appointments/events?action=showgrid&event_id='+event_id).css('visibility', 'visible');
           }); 
        });
        
        $('.staff_location_dropdown').change(function()
        {
            var location_id = $(this).val();
            var staff_id = $('input[name=staff_id]').val()
            
            $.getJSON('./ajax/cmsajax.php/?section=appointments&method=get_default_times_for_location&staff_id='+staff_id+'&location_id='+location_id, function(data)
            {   
                if (data.defaulttimes.length > 0)
                {
                    clear_default_timeboxes();
                    
                    for (var i = 0; i < data.defaulttimes.length; i++) 
                    {
                        var starttime   = data.defaulttimes[i].formatted_start_time.split(':'); 
                        var endtime     = data.defaulttimes[i].formatted_end_time.split(':'); 
                        $('#starthour_'+i).val(starttime[0]);
                        $('#startminute_'+i).val(starttime[1]);
                        $('#endhour_'+i).val(endtime[0]);
                        $('#endminute_'+i).val(endtime[1]);
                    }      
                }
                else
                {
                    clear_default_timeboxes();
                }
            });
        });
        
        $("input#getproducts").click(function(event){
                var device = $('#devices :selected').val();
                var params = 'device='+device+'&action=getproducts';
                $.ajax({
                    type: "POST",
                    url: "ajax.php",
                    data: params,
                    success : function(resp) {
                    $('div#deviceresult').html(resp);
                }
                });
       });
        
        $('#timeslot_controller').click(function(event)
        { 
            event.preventDefault();
            var event_id = $('#event_id :selected').val();
            var service_id = $('#service_id :selected').val();
            alert(event_id);
            alert(service_id);
            var params = 'section=appointments&method=get_timeslots&event_id=' + event_id + '&service_id=' + service_id;

                $.ajax({
                type: "POST",
                url: "./ajax/cmsajax.php",
                data: params,
                    success: function(resp){    
                    $('#timeslot_selector').html(resp); 
                    }
                });
                 
        });
        
        $('#set_to_defaults').click(function(event)
        {   
            event.preventDefault(); 
            var location_id = $('#location_id').val();
            var staff_id = $('#staff_id').val();

            $.getJSON('./ajax/cmsajax.php/?section=appointments&method=get_default_times_for_location&staff_id='+staff_id+'&location_id='+location_id, function(data)
            {   
                if (data.defaulttimes.length > 0)
                {
                    clear_default_timeboxes();
                    
                    for (var i = 0; i < data.defaulttimes.length; i++) 
                    {
                        var starttime   = data.defaulttimes[i].formatted_start_time.split(':'); 
                        var endtime     = data.defaulttimes[i].formatted_end_time.split(':'); 
                        $('#starthour_'+i).val(starttime[0]);
                        $('#startminute_'+i).val(starttime[1]);
                        $('#endhour_'+i).val(endtime[0]);
                        $('#endminute_'+i).val(endtime[1]);
                    }      
                }
                else
                {
                    clear_default_timeboxes();
                    alert('There are no default times set for this instructor at this location.');
                }
            });
        
        });
        
        function clear_default_timeboxes()
        {
            $('.default_timeselector').each(function() 
            {
                this.selectedIndex = 0;
            });      
        }
        
        //Delete a page after confirmation         
        $('.delete').click(
            function(e) 
            {
                e.preventDefault();
                var answer = confirm("Delete permanently - Are you sure?")     
                if (answer)
                {
                    var url = $(this).attr('href');
                    window.location = url;
                } 
            }
        );
        
        /*  
        *
        *   General delete link, this is better than recreating the function over and over, just place the message in the name attribute of the html element                                                                                     
        *
        */
        
        $('.delete_link').click( 
            function(e) 
            {
                e.preventDefault();
                var message = $(this).attr('name'); 
                var answer = confirm(message);     
                if (answer)
                {
                    var url = $(this).attr('href');
                    window.location = url;
                } 
            }
        );
        
        $('#add_additional_date_link').click( 
            function(e) 
            {
                e.preventDefault();
                $('#date_container').append('<p class="cms_form_section">Date:<input type="text" name="dates[]" class="datepicker" /></p>');
            }
        );
        
        //Delete a page after confirmation         
        $('.resend').click(
            function(e) 
            {
                e.preventDefault();
                var answer = confirm("Resend Confirmation Email - Are you sure?")     
                if (answer)
                {
                    var url = $(this).attr('href');
                    window.location = url;
                } 
            }
        );
        
        //Delete a page after confirmation         
        $('.reschedule').click(
            function(e) 
            {
                e.preventDefault(); 
                var existing_date = $('#existing_appointment_date').val();   
                var existing_time = $('#existing_appointment_time').val(); 
                var existing_instructor = $('#existing_instructor').val(); 
                var new_hour = $('#new_start_hour').val();  
                var new_minute = $('#new_start_minute').val();  
                var new_date_venue = $('#event_selector option:selected').text();  
                var new_instructor = $('#staff_selector option:selected').text();  
                
                var answer = confirm("Reschedule Lesson from "+existing_date+" at "+existing_time+" with "+existing_instructor+" to "+new_date_venue+" at "+new_hour+":"+new_minute+" with "+new_instructor+"?");     
                if (answer)
                {
                    $('#reschedule_form').submit();
                } 
            }
        );
        
        //  Ajax code to display status of voucher when processing a booking
        
        $('#gift_code').keyup(
            function(k)
            {
                var voucher_code = $(this).val();
                var holder       = $('#voucher_message');
                
                if (voucher_code.length > 2)
                {   
                    $.getJSON('./ajax/cmsajax.php/?section=appointments&method=check_voucher_status&voucher_code='+voucher_code, function(data)
                    {   
                        if (data.voucher.pass == 1)
                        {
                            holder.css({color:'green'});    
                        }
                        else
                        {
                            holder.css({color:'red'});
                        }
                        
                        holder.text(data.voucher.status);
                    });
                }
            }
        );
        
        //  Ajax code to display status of voucher when processing a booking
        $('#codechecker_container').delegate('.codechecker', 'keyup', function (e) {
        // event handler

                var voucher_code     = $(this).val();
                var inputarray       = $(this).attr('id').split('_');
                var num              = inputarray[1];
                var holder           = $('#message_'+num.toString(10));

                if (voucher_code.length > 2)
                {   
                    $.getJSON('./ajax/cmsajax.php/?section=appointments&method=check_voucher_location&voucher_code='+voucher_code, function(data)
                    {   
                        if (data.voucher.pass == 1)
                        {
                            holder.css({color:'green'});    
                        }
                        else
                        {
                            holder.css({color:'red'});
                        }
                        
                        holder.text(data.voucher.status);
                    });
                }
     
        });  
        
        
        
        $('#add_another_code_button').click(function(event) {
            event.preventDefault();
            var num  = $(this).attr('class');
            var html = '<p class="cms_form_section">Voucher Code '+num.toString(10)+':<br /><input type="text" class="codechecker" id="code_'+num.toString(10)+'" name="codes[]" /><span id="message_'+num+'"></span></p>';
            $('#codechecker_container').append(html);
            $(this).removeClass(num.toString(10));
            num++;
            $(this).addClass(num.toString(10));
        });
        
       
        $('.toggle_batch_active').click(function(event)
        {   
            event.preventDefault(); 
            
             var src = $(this).attr('src');
             var id  = $(this).attr('name');

            if(src == 'gfx/file_icons/cross.gif') {      
                var params = 'method=togglebatchactive&value=1&id=' + id;
                $.ajax({
                type: "POST",
                url: "./ajax/cmsajax.php",
                data: params,
                    success: function(msg){    
                    }
                });
                $(this).attr('src', 'gfx/file_icons/tick.gif'); 
            }
       
            if(src == 'gfx/file_icons/tick.gif') {  
                var params = 'method=togglebatchactive&value=0&id=' + id;
                $.ajax({
                type: "POST",
                url: "./ajax/cmsajax.php",
                data: params,
                    success: function(msg){        
                    }
                }); 
                $(this).attr('src', 'gfx/file_icons/cross.gif'); 
            }
        });
        
        $('.toggle_discount_active').click(function(event)
        {   
            event.preventDefault(); 
            
             var src = $(this).attr('src');
             var id  = $(this).attr('name');

            if(src == 'gfx/file_icons/cross.gif') {      
                var params = 'method=togglediscountactive&value=1&id=' + id;
                $.ajax({
                type: "POST",
                url: "./ajax/cmsajax.php",
                data: params,
                    success: function(msg){    
                    }
                });
                $(this).attr('src', 'gfx/file_icons/tick.gif'); 
            }
       
            if(src == 'gfx/file_icons/tick.gif') {  
                var params = 'method=togglediscountactive&value=0&id=' + id;
                $.ajax({
                type: "POST",
                url: "./ajax/cmsajax.php",
                data: params,
                    success: function(msg){        
                    }
                }); 
                $(this).attr('src', 'gfx/file_icons/cross.gif'); 
            }
        });

       
       
       
  });
  



         
        

