$(document).ready(function(){

 
    /* Initialize Zip Clicks */
     $.zipClicks     = 0;
     $.zipCheck      = true;
     $.hide_counter  = 0;
     $.hide_counter2 = 0;
     
     // DOCTOR ADMIN PAGE
     // ________________________________________
     /* Check Zipcode
        Insert Doctor
                    */
     $("#dr_form_btn").click(function(){
            
            var t = true;
            var fname = $("input[name='dr_fname']").val();
            var lname = $("input[name='dr_lname']").val();
            var zip   = $("input[name='dr_zip[]']");
            /*
            $("input[data='multi_zip']").each(function(i){
                var a = $(this).val();             
                //validate($(zip).eq(0).val(),fname,lname);
               // t = chkZipCode(a);
                //alert(typeof t);                
            });
            */   
            if(t == true){
                $("#dr_admin_form").submit(); 
            }
    });

    /* Changing Dr Id
        For Deletion */
     $("#dr_del_select").change(function(){
    
        var name = $("#dr_del_select :selected").text();
        $("input[name='dr_name']").val(name);
        
    });
    

     // Tabs Dr_admin page
     if(typeof jQuery.ui == 'object'){ /* Check if ui library exists */
         $('#doctor_admin_reporting').tabs({ fxFade: true, fxSpeed: 'fast' });
         $('#reporting_tabs').tabs({ fxFade: true, fxSpeed: 'fast' });
         /*
         $("#datepicker").datepicker({
             onSelect: function(dateText){
                 //alert(dateText);
             }
         });
 		*/
 		/* Refund Confirmation Box */
 	    //if(typeof dialog =='function'){
 		 $("#dialog").dialog({
     		bgiframe: true,
     		autoOpen: false,
     		height: 200,
     		modal: true,
     		buttons: {
     		    Cancel: function() {
     				$(this).dialog('close');
     			},
     			'Request Refund': function() {

 				    $("#refund_reason_hdn").val(  $("#reason_for_refund").val() );
 				    $("#dr_refund_form").submit();
     				
     			}

     		},
     		close: function() {
                    $("#reason_for_refund").text(" ");
     		}
     	});
         
         $("#dr_refund_btn").click(function(){
             var numRefund = $("input[id=refund]:checked").length;
             if(numRefund == 0){
                 alert("You have not checked off\r\n any leads for a refund")
             }else{
                 $('#dialog').dialog('open');
             }
             
         });
       // }
     }

    // Update Doctor
    // Load JSON
    // ________________________________________
     $(".tab_link").click(function(){
         $.scrollTo(this,700);
     });

     $("#dr_update_select").change(function(){
        
        var id = $("#dr_update_select :selected").val();
        $(".update_zipcode_tr").remove();
        
        if( id != "-- Select Doctor --" ){
           
           //$.getJSON('app_dev/form_handler.php',{ operation:'getDocInfo', dr_update_id : id }, function(data){
            $.post('app_dev/form_handler.php',{ operation:'getDocInfo', dr_update_id : id },
               	 function(data){
               	    
               	    $("#dr_email").val(data['doctor'][0].dr_email);
                    $("#dr_firstname").val(data['doctor'][0].dr_fname);
                    $("#dr_mname").val(data['doctor'][0].dr_mname);
                    $("#dr_lname").val(data['doctor'][0].dr_lname);
                    $("#dr_cred").val(data['doctor'][0].dr_credentials);
                    
                    //alert(typeof data['doctor'][0].dr_privileges + " String = " + data['doctor'][0].dr_privileges );
                    
                    if(data['doctor'][0].dr_privileges == 1){
                        //alert(data['doctor'][0].dr_privileges);
                         $('input[name=dr_privileges]').attr('checked', true);
                    }else{
                         $('input[name=dr_privileges]').attr('checked', false);
                    }
                    //var bio =  data['doctor'][0].dr_bio.replace(/<br>/gi,"\n");
                    //bio =  bio.replace(/<[^>]+>/g,"");
                    //tinyMCE.activeEditor.selection.setContent(data['doctor'][0].dr_bio);
                    
                    //$("#dr_bio").text(data['doctor'][0].dr_bio);
                    $("#dr_bio").val(data['doctor'][0].dr_bio);
                    
                    $("#numberofzip").val(data['doctor'][0].numZip);
                 
                    /* Get Zipcode(s) */
                    var zip_array  = data['doctor'][0].zipcode;
                    var numZipcode = zip_array.length;
                    //alert ("length" + numZipcode);
                    var zip_string = "";
                    for (var count=0; count<numZipcode; count++){
                        var end = numZipcode - 1;
                        
                        if(count == end){
                            zip_string += data['doctor'][0].zipcode[count].zip_code;
                        }else{
                            zip_string += data['doctor'][0].zipcode[count].zip_code  + ",";
                        }
                    }
                    $("#dr_zip").val(zip_string);
                    $("#dr_img").val(data['doctor'][0].dr_img);
                    $("#imgPath").text(data['doctor'][0].dr_img);
                    
  
                    /* Get Image */
                    var img_src = "bios/photos/" + data['doctor'][0].dr_img;
                   
                    $("#imagePlaceHolder").attr("src",img_src);
                    $("#imagePlaceHolder").css({'height':'200px', 'width':'200px'});
                    
                    
                    
                    //alert(zip_string);
                    return false;
                    var new_tr     =  '<tr class="update_zipcode_tr">'+
                                      ' <td height="20" valign="top">Zipcode</td>'+
                                      ' <td width="300"><input name="dr_zip[]" type="text" class="inputSelect"  id="dr_zip" size="40" />'+
                                      //' &nbsp;<img src="app_dev/add_16.png" tooltip="Add Zip Codes" class="addZipbtn1">'+
                                      ' &nbsp;&nbsp;<img src="app_dev/cancel_16.png" class="removeZip" /></td>'+
                                      '</tr>';
                    if(numZipcode == 0){
                        
                        $("#forZipcodes").after(new_tr);
                        
                    }else{
                        
                        for(i=0;i<numZipcode;i++){
                            
                            if($i=0){
                                $("#forZipcodes").after('<tr class="update_zipcode_tr">'+
                                                           ' <td height="20" valign="top">Zipcode</td>'+
                                                           ' <td width="300"><input name="dr_zip[]" type="text" class="inputSelect"'+
                                                           ' id="dr_zip" size="40" value="'+ data['doctor'][0].zipcode[i].zip_code +'"/>'+
                                                           //' &nbsp;<img src="app_dev/add_16.png" tooltip="Add Zip Codes" class="addZipbtn1">'+
                                                           ' &nbsp;&nbsp;<img src="app_dev/cancel_16.png" class="removeZip" /></td>'+
                                                           ' </td>'+
                                                        '</tr>');
                                
                            }else{
                                $("#forZipcodes").after('<tr class="update_zipcode_tr">'+
                                                           ' <td height="20" valign="top">Zipcode</td>'+
                                                           ' <td width="300"><input name="dr_zip[]" type="text" class="inputSelect"'+
                                                           ' id="dr_zip" size="40" value="'+ data['doctor'][0].zipcode[i].zip_code +'"/>'+
                                                           //' &nbsp;<img src="app_dev/add_16.png" tooltip="Add Zip Codes" class="addZipbtn1">'+
                                                           ' &nbsp;&nbsp;<img src="app_dev/cancel_16.png" class="removeZip" /></td>'+
                                                           ' </td>'+
                                                       '</tr>');
                            }
                        }
                        
                        //var first_img = $(".addZipbtn").eq(0);
                        //$(".addZipbtn1").not( first_img ).hide();
                                     
                    $(".removeZip").bind("click",function(e){
                            $(this).parent().parent().remove();
                    });
                    
                    
                    /*
                    $(".addZipbtn1").bind("click",function(e){
                       
                        //alert("clicked");
                        var inputs = $(".update_zipcode_tr").size();
                        alert(inputs);
                        if(inputs < 1){
                            $(new_tr).insertAfter(".addZipbtn1");
                        }else{
                            $(new_tr).insertAfter(".update_zipcode_tr:last");
                        }
                        
                    });
                    */
                    }
                }, "json");
               
          }
     });

     $("#zip_lookup_btn").click(function(){
        
        var zip = $("#zip_input").val();
        if(zip.length == 5 ){
            $("form[name='zip_dr_locator_form']").submit();
        }else{
            alert("You must enter a 5 digit zipcode.");
        }
    });
    
     /* Add Zip / Adding Doctor Side */
     $(".addZipbtn").click(function(){   
        
         $.zipClicks++;
        
        //alert('add Zip');
        var newzipcode = '<tr class="zipcode_tr_1">'+
                              '<td height="20" valign="top">Zipcode </td>'+
                              '<td width="300"><input name="dr_zip[]" data="multi_zip" type="text" class="inputSelect" size="40" />'+
                            //' &nbsp;<img src="app_dev/add_16.png" tooltip="Add Zip Codes" class="addZipbtn">'+
                              '&nbsp;&nbsp;<img src="app_dev/cancel_16.png" class="removeZip1" /></td>'+
                         '</tr>';
                                           
        $(newzipcode).insertAfter("#forZipcodes1");
        
        
       
        //alert(inputs);
        
        $(".removeZip1").bind("click",function(e){
                
                var inputs = $(".zipcode_tr_1").size(); 
                /* Don't Remove Input if there's one left */
                if(inputs!=1){
                    $(this).parent().parent("tr").remove();
                }
        });
        
    });

     /* HIDE zipcode List */
     $(".toggleZipcodes").click(function(){
            $(".update_zipcode_tr").toggle();         
     });
     /*Add Zip / Updating Doctor Side */
     $(".addZipbtn1").click(function(){   
        
        var new_tr     =  '<tr class="update_zipcode_tr">'+
                          ' <td height="20" valign="top">Zipcode</td>'+
                          ' <td width="300"><input name="dr_zip[]" type="text" class="inputSelect"  id="dr_zip" size="40" />'+
                          //' &nbsp;<img src="app_dev/add_16.png" tooltip="Add Zip Codes" class="addZipbtn1">'+
                          ' &nbsp;&nbsp;<img src="app_dev/cancel_16.png" class="removeZip" /></td>'+
                          '</tr>';
                          
         $(new_tr).insertAfter("#forZipcodes:last");
        
         $(".removeZip").bind("click",function(e){
                 $(this).parent().parent().remove();
         });
        
     });
    

     /* Request Info Page*/
     $("#req_info_submit_btn").click(function(){
        
        var zipcode = $("input[name='p_zip']").val();
        var phone   = $("input[name='p_phone']").val(  $("input[name='p_phone]").val().replace( /[-)(]/g ,"")   ).val();
        
         if(zipcode.length != 5){
            alert("Zipcode must be 5 digits");
         }else if(phone.length != 10){
            alert("Phone Number must be 10 digits");
         }else{
            $("#req_form").submit();
         }

     });
     
     /* Make Appointment */
     $("#_make_appt_btn").click(function(){
        
         var brochure = $("input[name='brochure']:checked").val();

         $(".error_span").remove();
         $(".error_span").css({'font-size':'.1em'});
         var e = true;
         var inputs = $(":input");
         
         jQuery.each(inputs, function(){
             if(  $(this).val() == ''  ){
                 switch($(this).attr("name")){
                 
                     case 'p_fname':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Missing Name </span>");
                         $.scrollTo($(this),700);
                         e = false; return false; 
                     break;
                     case 'p_lname':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Missing Name </span>");
                         $.scrollTo($(this),700);
                         e = false; return false;
                     break;
                     case 'p_zip':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Invalid Zipcode </span>");
                         $.scrollTo($(this),700);
                         e = false; return false;
                     break;
                     case 'p_address1':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Missing Address </span>");
                         $.scrollTo($(this),700);
                         e = false; return false;
                     break;
                     case 'p_city':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Missing City </span>");
                         $.scrollTo($(this),700);
                         e = false; return false;
                     break;
                     case 'p_phone':
                         $(this).after("<span class='error_span' style='color:red;font-size:.8em;'> Missing Phone  </span>");
                         $.scrollTo($(this),700);
                         e = false; return false;
                     break;
                 }
             }
        });
             var state_select = $("select[name='p_state']").val();
             if(state_select == 'Select State'){
                 alert("You Must Select a valid state");
                 e = false;
             }
             if(e){
                 if(brochure == 'Download'){
                     var url='http://www.lasersculptnetwork.com/pdf/lasersculpt_brochure_FINAL.pdf';    
                     window.open(url,'Download');
                 }
                 $("#make_appt_form").submit();
             }
     });
     
     // Report Download CSV Reporting Tab
     /*$("#download_csv").click(function(){
          var url='http://www.lasersculptnetwork.com/dr_cron.php';    
          window.open(url,'Download CSV');
     });*/
     
     
     
     // DR View Page
     // ________________________________________
     
     /* Check Cart for Products */
     $("#checkoutBtn").click(function(){
         var t = getTotal();
         if(t==0){
             alert("You currently have no items in your cart");
         }else{
             $("#dr_view_form").submit();
         }
     });
     
     /* Toggle Lead Lists */
     $('#lead_toggler').click(function(){
         $.hide_counter = $.hide_counter + 1;
         $("#lead_list").slideToggle("slow", 
         function(){
           
             if($.hide_counter % 2 == 0){
                 $("#lead_toggler").text(" Click to Hide Appointments "); 
              }else{
                 $("#lead_toggler").text(" View Your Hidden Leads ");
              }
         });
       
     });
     
     $('#appt_toggler').click(function(){
          $.hide_counter2 = $.hide_counter2 + 1;
          $("#appt_list").slideToggle("slow",
          function(){
              
              if($.hide_counter2 % 2 == 0){
                  $("#appt_toggler").text(" Click to Hide Leads ");
              }else{
                  $("#appt_toggler").text(" View Your Hidden Appointments ");
              }
          });
     });
     
     /* Listen for Checkbox Checks*/
     $(".chk_box_list").click(function(){
         checkCart(); 
     });
     
     /* Refund 
     $("#dr_refund_btn").click(function(){

     });
     */
     
     $("#sel_all_chk").click(function(){
         //$("input:checkbox").attr('checked',true);
         var t = checkCart();
         if(t){
         $("#dr_view_form").submit();
         }else{
             alert("There are no items in your cart!");
         }
     });
     /* Change pw and Email */
     $("#dr_change_btn").click(function(){
         var p  = $("#dr_view_pw").val();
         var e  = $("#dr_view_email").val();
         var id = $("#dr_id").val();
         if(p.length == 0 || e.length == 0){
             alert("Either your email or password is empty.\r\nPlease Try again!")
         }else{
             $.post("app_dev/form_handler.php",{ operation: 'dr_change_email_pw', dr_id : id, dr_email : e , dr_pw : p }, 
                function(data){

                     if(data=='true'){
                         $("#change_msg").text("Your changes have been updated successfully.");  
                     }

              });
         }
         

     });
     
     // DR view scrolling
     // ______________________________________
     $("#viewLeadsLink").click(function(){
         $.scrollTo("#purchased_leads_view", {duration:1500} );
     });
     $("#changeLink").click(function(){
          $.scrollTo(".box", {duration:1500} );
     });
     $("#refundLink").click(function(){
           $.scrollTo("#purchased_leads_view", {duration:1500} );
     });

     $(".backTop").click(function(){
         $.scollTo(0);
     });
     
    
     // Checkout Page
     //_________________________________________
     $("#checkout_process_Btn").click(function(){
         //Validation
         $(".error_span").remove();
         var e = true;
         var inputs = $(":input");
         /*
         if(  $("#state option:selected").val() == "Select a State") ){
             $("#state").af
         }
         */
            jQuery.each(inputs, function(){
                
                if(  $(this).val() == ''  ){
                    switch($(this).attr("name")){
                    
                        case 'first':
                            $(this).after("<span class='error_span' style='color:red;'> Missing First Name </span>");
                            $.scrollTo($(this),700);
                            e = false; return false; 
                        break;
                        case 'last':
                            $(this).after("<span class='error_span' style='color:red;'> Missing Last Name </span>");
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'card_num':
                            if ($(this).val().length != 16){
                                $(this).after("<span class='error_span' style='color:red;'> Invalid Credit Card Length </span>");
                            }
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'zip':
                            $(this).after("<span class='error_span' style='color:red;'> Invalid Zipcode </span>");
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'addr':
                            $(this).after("<span class='error_span' style='color:red;'> Missing Address </span>");
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'city':
                            $(this).after("<span class='error_span' style='color:red;'> Missing City </span>");
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'state':
                            $(this).after("<span class='error_span' style='color:red;'> Choose State </span>");  
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                        case 'Payment_Card_Type':
                            if ($(this).val() == '*** Select Card ***'){
                                $(this).after("<span class='error_span' style='color:red;'> Choose Card Type </span>");
                            }
                            $.scrollTo($(this),700);
                            e = false; return false;
                        break;
                    }
                }
                
                
                
                
            });
         
         
         if(e){
            $("#checkout_form").submit(); 
         }
     });
     
     // FUNCTIONS
     // ________________________________________
     function checkCart(){
        
         var numLeads = $("input[id=lead]").length; 
         var numAppts = $("input[id=appt]").length; 
         var total = ( numLeads * 40 ) + ( numAppts * 40 );
        

         $("#numLead").text(numLeads);
         $("#numAppt").text(numAppts);
         $("#cartTotal").text('$' + total + '.00');
             
         if(total == 0){
             return false;
         }else{
             return true;
         }
             
     }
     
     function checkRefund(){
         
     }
     function getTotal(){
         
         checkCart();
         var numLeads = $("input[id=lead]:checked").length; 
         var numAppts = $("input[id=appt]:checked").length; 
         var total = ( numLeads * 40 ) + ( numAppts * 200 );
         return total;

     }
     
     function chkZipCode(zip){

          $.post('app_dev/form_handler.php',{ zipcode:zip, operation:'chkZipcode' },
               function(data){

                   if(data != 'good'){
                      alert("This zipcode is taken by \r\nDr." + data + "\r\nTry Again!");
                      $.zipCheck = false;
                   }
           });

          return $.zipCheck;
     }


     
});

function validate(zip,fname,lname){
    
    if (zip == '' || zip.length != 5){
        alert("Zipcode Error!");
        return false;
    }else if( fname == ''){
        alert("No First Name Entered");  
        return false;
    }else if ( lname == ''){
        alert("No Last Name Entered");
        return false;
    }
   
}