/*
 * rodemic.js
 * © 2011 RØDE Microphones
 */

if($.browser.msie && parseFloat($.browser.version) < 7){
	$('#toppanel').hide();
	$('#menuNotice').show();
} else {
	$('#menuNotice').hide();
}
 
$(document).ready(function() {
	
	$("div#bin_dealer_list").addClass("container-closed"); 
	$("#bin_expand_dealers").click( function() {
		$("div#bin_dealer_list").toggleClass("container-closed");
		$("div#bin_expand_dealers").remove();
	}); 
	
  	$('#cloud-panes').show();
  
  	$('#logout-button').live('click', function(){
		document.location = '/ajax/logout';
  	});
    
  /* FORM VALIDATION AND INIT PANEL */
  $('#logged_in_left').hide();
  $('#register_mic_right').hide();
  //$('#loader').hide();
  $('#login_error').hide();
  $('#platinum_login_error').hide();  
  $('#position_details_header').hide();
  $('#position_details').hide();
  $('#update-details-message').hide();
  $('#update-password-message').hide();
  $('.update_loader').hide();
  
  // Load the slider
  $(window).load(function() {
      $('#slider').rmSlider({
        directionNav:false,
        effect:'slideInLeft',
        pauseTime:7000
        });
  });
  
  //Resize Twitter 'follow' widget
  $('iframe.twitter-follow-button').css('width','150px');
  		
  // reset password pop up
  var windowSizeArray = [ "width=550,height=230", "width=550,height=230,scrollbars=yes" ];
  
  $('.newWindow').click(function (event){
    var url = $(this).attr("href");
    var windowName = "popUp";
    var windowSize = windowSizeArray[$(this).attr("rel")];
    
    window.open(url, windowName, windowSizeArray);
    event.preventDefault();
  });
  
  // warranty terms & conditions pop up
  var windowArray = [ "width=980,height=600", "width=980,height=600,scrollbars=yes" ];
  
  //Soundbooth clickthrough
	$('#soundbooth-banner').click(function(){
		window.location = '/soundbooth' 	 
	});  

  
  $('.terms').click(function (event){
    var url = $(this).attr("href");
    var windowName = "popUp";
    var windowSize = windowArray[$(this).attr("rel")];
    
    window.open(url, windowName, windowArray);
    event.preventDefault();
  });
  
  $('#m1-mondays-terms').click(function (event){
    var url = $(this).attr("href");
    var windowName = "popUp";
    var windowSize = windowArray[$(this).attr("rel")];
    
    window.open(url, windowName, windowArray);
    event.preventDefault();
  });
  
  // serial number pop up
  var windowSerialArray = [ "width=550,height=600", "width=550,height=500,scrollbars=yes" ];
  
  $('.find_it').click(function (event){
    var url = $(this).attr("href");
    var windowName = "popUp";
    var windowSize = windowSerialArray[$(this).attr("rel")];
    
    window.open(url, windowName, windowSerialArray);
    event.preventDefault();
  });
  
  
  // redirect the register button
  $('#register-new-tab').click(function(){
    $(window.location).attr('href', '/warranty');
  });  
  
  // redirect the marketing resources button
  $('#resources-tab').click(function(){
    //$(window.location).attr('href', 'http://partner.rodemic.com/marketing');
    window.open ('http://partner.rodemic.com/')
  });
  
  $('#email-about').live( 'change', function(){
  	//console.log($(this).val());
  	//console.log($(this).closest('table').children('input#email-product').val());
  	console.log($(this).closest('#email-country').val());
  	if($(this).val() == 'warranty'){
  		$('#email-product').addClass('validate[required]');
  		$('#email-country').addClass('validate[required]');
  	} else {
  		$('#email-product').removeClass('validate[required]');
  		$('#email-country').removeClass('validate[required]');
  	}
  });
  
  /*
   *  LOGIN PANEL
   */

  // Expand Panel
  $("#open").click(function(){
    $("div#panel").slideDown("slow");
    $('#layout').html('<div id="overlay" style="background-color: rgb(0, 0, 0); z-index: 900; opacity: 0.80; filter:alpha(opacity=80); cursor: default; height: 1698px; display: block; position: absolute; top:0; left:0; width: 100%;"></div>').fadeIn(300);
  }); 
  
  // Collapse Panel
  $("#close").click(function(){
    $("div#panel").slideUp("slow"); 
    $('#layout').html('');
  });   
  
  // Expand Panel
  $("#open1").click(function(){
    $("div#panel").slideDown("slow");
    $('#layout').html('<div id="overlay" style="background-color: rgb(0, 0, 0); z-index: 900; opacity: 0.80; filter:alpha(opacity=80); cursor: default; height: 1698px; display: block; position: absolute; top:0; left:0; width: 100%;"></div>').fadeIn(300);
  }); 
  
  // Collapse Panel
  $("#close1").click(function(){
    $("div#panel").slideUp("slow"); 
    $('#layout').html('');
  });  
  
  
  $('#regfirstname').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/firstname']);	//GA Virtual Pageview   
  });
  
   $('#regsurname').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/surname']);	//GA Virtual Pageview   
  });

   $('#regregemail').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/email']);	//GA Virtual Pageview   
  });

   $('#regconfemail').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/email-confirmation']);	//GA Virtual Pageview   
  });

   $('#regregpassword').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/password']);	//GA Virtual Pageview   
  });

   $('#regconfpassword').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/password-confirm']);	//GA Virtual Pageview   
  });

   $('#regaddress').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/address']);	//GA Virtual Pageview   
  });
  
   $('#regcity').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/city']);	//GA Virtual Pageview   
  });

   $('#regstate').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/state']);	//GA Virtual Pageview   
  });
  
  $('#regpostcode').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/postcode']);	//GA Virtual Pageview   
  });

    $('#regcountry').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/country']);	//GA Virtual Pageview   
  });

    $('#regage').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/registration/age']);	//GA Virtual Pageview   
  });
    
	$('#model').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/model']);	//GA Virtual Pageview   
  });
    	
	$('#serial_number').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/serial']);	//GA Virtual Pageview   
  });
    	
	$('#date_of_purchase').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/date_of_purchase']);	//GA Virtual Pageview   
  });
    	
	$('#country_of_purchase').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/country_of_purchase']);	//GA Virtual Pageview   
  });
    	
	$('#dealer_select').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/dealer']);	//GA Virtual Pageview   
  });
    	
	$('#warranty_ta').focus(function() {
	_gaq.push(['_trackPageview', '/virtual/warranty/terms_and_conditions']);	//GA Virtual Pageview   
  });
    	
    	
	
	
  
  // Switch buttons from "Log In | Register" to "Close Panel" on click
  $("#toggle a").click(function () {
	_gaq.push(['_trackPageview', '/virtual/login-panel']);	//GA Virtual Pageview for opening login-panel
    $("#toggle a").toggle();
  }); 

  $('#next-artist').live('click', function(eve) {
    eve.preventDefault();
    $.get('/footer', function(xml) {
      // do something
    });
  });
  
  // do this on the warranty page too
  $("#login-prompt-button").click(function(){
    $("div#panel").slideDown("slow");
    $('#layout').html('<div id="overlay" style="background-color: rgb(0, 0, 0); z-index: 900; opacity: 0.80; filter:alpha(opacity=80); cursor: default; height: 1698px; display: block; position: absolute; top:0; left:0; width: 100%;"></div>').fadeIn(300);
    $("#toggle a").toggle();
    $('html, body').animate({scrollTop:0}, 'slow');
  }); 
  
  // do this on the warranty page too
  $("a.login-dropdown").click(function(){
    $("div#panel").slideDown("slow");
    $('#layout').html('<div id="overlay" style="background-color: rgb(0, 0, 0); z-index: 900; opacity: 0.80; filter:alpha(opacity=80); cursor: default; height: 1698px; display: block; position: absolute; top:0; left:0; width: 100%;"></div>').fadeIn(300);
    $("#toggle a").toggle();
    $('html, body').animate({scrollTop:0}, 'slow');
  }); 
  
    // login form validation
    $("#login-form").validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      success :  function(){ submit_form }, /* if everything is OK enable AJAX */
      failure : function(){use_ajax=false}  /* in case of validation failure disable AJAX */
    });
    
    // Called once the server replies to the ajax form validation request
    function ajaxRegisterCallback(status, form, json, options){
        if (window.console) 
            console.log(status);
        
        if (status === true) {
			_gaq.push(['_trackPageview', '/virtual/registration/submitted']);	//GA Virtual Pageview   
			_gaq.push(['_setCustomVar',
					1,                // This custom var is set to slot #1.  Required parameter.
					'Registered User',    // The name of the custom variable.  Required parameter.
					'Yes',        // The value of the custom variable.  Required parameter.
					1                 // Sets the scope to visitor-level.  Optional parameter.
			]); 
            form.validationEngine('detach');
            $('#register-form').attr('action', '');
            
          $('#registration-message').html('<div style="font-size:11px;">PLEASE WAIT...</div>');
		  var firstname = $('#regfirstname').val();
		  var surname = $('#regsurname').val();
		  var email = $('#regregemail').val();
		  var password = $('#regregpassword').val();
		  var band = $('#regband').val();
		  var website = $('#regwebsite').val();
		  var company = $('#regcompany').val();
		  var address = $('#regaddress').val();
		  var city = $('#regcity').val();
		  var state = $('#regstate').val();
		  var postcode = $('#regpostcode').val();
		  var country = $('#regcountry').val();
		  var phone = $('#regphone').val();
		  var age = $('#regage').val();
		  var subscribe = $('#regsubscribe:checked').val();
		  if(subscribe == "on"){subscribe = 1;} else {subscribe = 0;}
		  
		  if ( firstname == '' || surname == '' || email == '' || address == '' || city == '' || state == '' || postcode == '' || country == '' || age == '' || 
		         firstname == 'undefined' || surname == 'undefined' || email == 'undefined' || address == 'undefined' || city == 'undefined' || state == 'undefined' || 
		         postcode == 'undefined' || country == 'undefined' || age == 'undefined' ) {
		      fail = 1;
		    }
		  
		  else {fail = 0;}
		   if (fail == 0){
		   	$('#reg-submit').attr('disabled', 'disabled');
		   	$('#reg-submit').val('PLEASE WAIT...');
		  // now post the registration details using the above details
		  $.post("/ajax/register",
		  {
		    // data
		    firstname : firstname,
		    surname : surname,
		    email :email,
		    password : password,
		    band : band,
		    website : website,
		    company : company,
		    street : address,
		    city : city,
		    state : state,
		    postcode : postcode,
		    country : country,
		    phone : phone,
		    age : age,
		    subscribe : subscribe
		  },
		  function(data) { 
		    // success - post to the login form
		    $.post( "/ajax/login",
		      {
		        email : $("#regregemail").val(),
		        password : $("#regregpassword").val()
		      },
		      function(data){ 
		        if (data.logged_in == false){$('#login_error').show(),$('#loader').html('');}
		        else if(data.logged_in == true) { $('#login_nli').hide(), $('#logged_in_left').show(), $('#register_nli').hide(), $('#register_mic_right').show(), $('#loader').hide(); }
		        else {$('#login_error').show();}
		        
		        $('#showName').html(data.firstname),
		        $('#micCount').html(data.mics);
		        $('#tab-text').html('View My Account');
		        
		        $('#download_session').html('<a href="/downloads/rode_soundbooth_protools.zip">rodemic.com members can download the high resolution 44.1kHz 24-bit audio files and ProTools session here</a> [1.4GB ZIP archive]');
		        
		        // empty the registered mics div
		        $('#registered-mics').empty();
		        
		        // loop through all the registered mics in the jSON array and append to the registered-mics div
		        var regMics = '';
		        for(var i = 0; i < data.mics; i++) {
		          var mic = data[i.toString()];
		          regMics +='<div class="single-mic"><table><tr><td rowspan="3" width="95"><img src="http://media.rodemic.com/images/reg-mic-thumbs/'+mic.part_number+'.png" width="90" height="110" /></td><td><strong>'+mic.part_name+'</strong> ('+mic.serial_number+')</td>'
		          + '</tr><tr><td>Purchased from '+mic.trading_name;
		          if(mic.trading_name != 'Second Hand Seller'){
		          	regMics += ', '+mic.country;
          		  }
          		  regMics +='</td></tr><tr><td>Purchased on '+mic.date_of_purchase+'<br />'+mic.warranty_text+mic.expires+'</td></tr></table></div>';
		          
		          //console.log(newHTML);
		        }
		        $('#registered-mics').html(regMics);
		        
		        // set the values of the account details form
		        $('#firstname').val(data.firstname);
		        $('#surname').val(data.surname);
		        $('#updemail').val(data.email);
		        $('#company').val(data.company);
		        $('#band').val(data.band);
		        $('#website').val(data.website);
		        $('#address').val(data.street);
		        $('#city').val(data.city);
		        $('#state').val(data.state);
		        $('#postcode').val(data.postcode);
		        $('#country').val(data.country);
		        $('#phone').val(data.phone);
		        $('#age').val(data.age);
		        $('#user-id').val(data.user_id);
		        $('#user_id').val(data.user_id);
		        if(data.subscribe == 2) {
					$('#subscribe').attr('checked','checked');
					_gaq.push(['_trackPageview', '/subscribe']);	//GA Virtual Pageview 
					};
		      }, "json"
		    );
		  }, "json"
		  );
		  };
        }
    }
    
    // register form validation
    $("#register-form").validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      ajaxFormValidation: true,
      onAjaxFormComplete: ajaxRegisterCallback
    });
    
    
    
     /*
      * UPDATE DETAILS FORM
      */
     
    // Called once the server replies to the ajax form validation request
    function ajaxUpdateDetailsCallback(status, form, json, options){
        if (window.console) 
            console.log(status);
        
        if (status === true) {
            form.validationEngine('detach');
            //$('#update-details-form').attr('action', '');
            
	        //$('#details_loader').show();
	        var firstname = $('#firstname').val();
	        var surname = $('#surname').val();
	        var updemail = $('#updemail').val();
	        var company = $('#company').val();
	        var band = $('#band').val();
	        var website = $('#website').val();
	        var address = $('#address').val();
	        var city = $('#city').val();
	        var state = $('#state').val();
	        var postcode = $('#postcode').val();
	        var country = $('#country').val();
	        var phone = $('#phone').val();
	        var age = $('#age').val();
	        var subscribe = $('#subscribe:checked').val();
	        var user_id = $('#user_id').val();
			if(subscribe == "on"){subscribe = 1;} else {subscribe = 0;}
	        // check if the required form elements have values, if not don't submit
	        
	        if ( firstname == '' || surname == '' || updemail == '' || address == '' || city == '' || state == '' || postcode == '' || country == '' || age == '' || 
	             firstname == 'undefined' || surname == 'undefined' || updemail == 'undefined' || address == 'undefined' || city == 'undefined' || state == 'undefined' || 
	             postcode == 'undefined' || country == 'undefined' || age == 'undefined' ) {
	          fail = 1;
	        }
	        else {
	          fail = 0;
	        }
	
	        //alert(fail);
	        if (fail == 0) { 
	        	$('#update-details-button').attr('disabled', 'disabled');
		   		$('#update-details-button').val('SAVING...');
		   		console.log('it should work');
	          $.ajax({
	            type : 'POST',
	            url : '/ajax/update_details',
	            data : 'user_id='+user_id+'&firstname='+firstname+'&surname='+surname+'&email='+updemail+'&company='+company+'&band='+band+'&website='+website+'&street='+address+'&city='+city+'&state='+state+'&postcode='+postcode+'&country='+country+'&phone='+phone+'&age='+age+'&subscribe='+subscribe,
	            success : function(data){
	            	//$('#details_loader').hide();
	              	$('#update-details-message').show();
	              	$('#update-details-message').delay(5000).fadeOut(400);
	              	form.validationEngine('attach');
	              	$('#update-details-button').removeAttr('disabled');
		   			$('#update-details-button').val('SAVE');
		   			console.log('it is finished')
	            },
	            dataType : 'json'
	          });
	        } else {
		        // TODO: Add in failed message
		        return false;
	        }
        }
    }
     /*
      * END UPDATE DETAILS FORM
      */
    
    // update details validation
    $('#update-details-form').validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      ajaxFormValidation: true,
      onAjaxFormComplete: ajaxUpdateDetailsCallback
    });
    
    // update password validation
    $('#update-password-form').validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      success: function(){ submit_form }, /* if everything is OK enable AJAX */
      failure: function(){ return false } /* in case of validation failure disable AJAX */
    });
    
    function beforeCall(form, options){
        if (window.console) 
            console.log("Wait...");
        return true;
    }
    
    // Called once the server replies to the ajax form validation request
    function ajaxValidationCallback(status, form, json, options){
        if (window.console) 
            console.log(status);
        
        if (status === true) {
			_gaq.push(['_trackPageview', '/virtual/warranty/submitted']);	//GA Virtual Pageview   
			_gaq.push(['_setCustomVar',
					2,                // This custom var is set to slot #1.  Required parameter.
					'Microphone Owner',    // The name of the custom variable.  Required parameter.
					'Yes',        // The value of the custom variable.  Required parameter.
					1                 // Sets the scope to visitor-level.  Optional parameter.
			]); 
			
            form.validationEngine('detach');
            $('#warranty-registration-form').attr('action', '/warranty/register');
            
            document.forms["warranty-registration-form"].submit();
            $('#register-submit-img').attr('disabled', 'disabled');
            $('#register-submit-img').val('PLEASE WAIT...');
            $('#wait').show();
        }
    }
    $('#warranty-registration-form').validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      ajaxFormValidation: true,
      onAjaxFormComplete: ajaxValidationCallback
    });
    
    
    // Called once the server replies to the ajax form validation request
    function ajaxValidationTransferCallback(status, form, json, options){
        if (window.console) 
            console.log(status);
        
        if (status === true) {
            form.validationEngine('detach');
            $('#warranty-transfer-form').attr('action', '/warranty/register_transfer');
            
            document.forms["warranty-transfer-form"].submit();
            $('#register-submit-img').attr('disabled', 'disabled');
            $('#register-submit-img').val('PLEASE WAIT...');
            $('#wait').show();
        }
    }
    
    $('#warranty-transfer-form').validationEngine({
      inlineValidation: false,
      promptPosition: "topRight",
      scroll: false,
      ajaxFormValidation: true,
      onAjaxFormComplete: ajaxValidationTransferCallback
    });
    
    $('#support_form').validationEngine({
      inlineValidation: true,
      promptPosition: "topRight",
      scroll: false
    });
    
    $('#contact-form').validationEngine({
      inlineValidation: true,
      promptPosition: "topRight",
      scroll: false
    });
    
    $('#email_subscr').validationEngine({
      inlineValidation: true,
      promptPosition: "topRight",
      scroll: false
    });
	
    $('#email_subscr_news').validationEngine({
      inlineValidation: true,
      promptPosition: "topRight",
      scroll: false
    });

  
    $('.login').click(function() {
      $("#login-form").validationEngine('hideAll');
      $("#register-form").validationEngine('hideAll');
      $('#update-details-form').validationEngine('hideAll');
      $('#update-password-form').validationEngine('hideAll');
    });
    
    // datepicker for warranty page
    
    $( "#date_of_purchase" ).datepicker({
      dateFormat: 'yy-mm-dd',
      duration: 'fast',
      maxDate: '+0d'
      //minDate: '-30d'
    }).unbind('blur');
    
    $('#country_of_purchase').change(function() {
	  $('select#dealer_select').html('<option value=\"\" selected>Loading dealers...</option>');
      $.post("/ajax/get_dealers", { country: $("#country_of_purchase").val() },
        function(xml){
          if($("status",xml).text() != "0") {
            var stateoptions = '<option value=\"all\" selected>All</option>';
            //Sucessful response from server, so put the names into the dealer select DDL
            var options = '<option value=\"\" selected>Please select</option>';
            $("states",xml).each(function(state){
              states = $("states",xml).get(state);
              stateoptions += '<option value=\"'+$("state",states).text()+'\">'+$("state",states).text()+'</option>\n'; 
            });
            $('select#dealer_state').html(stateoptions);
            $("dealer",xml).each(function(id) {
              dealer = $("dealer",xml).get(id);
              options += '<option value=\"'+$("id",dealer).text()+'\">'+$("name",dealer).text()+', '+$("city",dealer).text()+'</option>\n';
             });
            $('select#dealer_select').html(options);
          }
      }); 
    });
    
    $('#dealer_state').change(function() {
      $.post("/ajax/get_dealers_by_state", { country: $("#country_of_purchase").val(), state : $("#dealer_state").val() },
        function(xml){
          if($("status",xml).text() != "0") {
            var states = '<option value=\"all\" selected>All</option>';
            //Sucessful response from server, so put the names into the dealer select DDL
            var options = '<option value=\"\" selected>Please select</option>';
            $("dealer",xml).each(function(id) {
              dealer = $("dealer",xml).get(id);
              states += '<option value=\"'+$("state",dealer).text()+'\">'+$("state",dealer).text()+'</option>\n'; 
              options += '<option value=\"'+$("id",dealer).text()+'\">'+$("name",dealer).text()+', '+$("city",dealer).text()+'</option>\n';
             });
            $('select#dealer_select').html(options);
          }
      }); 
    });
    
    /* LOGIN FORM */
	
	//disable the normal form submission
	$("#login-form").submit(function(e) {  return false; });
	
	//Platinum login
	$("#platinum-login-button").click(function(e) {
	  _gaq.push(['_trackEvent', 'Login', 'Attempt', 'Platinum']);	//GA Event: Platinum login attempt
      $('#login_error').hide();	
      $('#platinum_login_error').show();
	});
	
	//Regular login
	$("#login-button").click(function(e) {
		$("#login-button").attr('disabled', 'disabled');
		$("#login-button").val('LOGGING IN...');
      e.preventDefault();
	  _gaq.push(['_trackEvent', 'Login', 'Attempt', 'Regular']);	//GA Event: Regular login attempt
      //$('#loader').html('Please Wait...').delay(3000).queue(function(n){
      //	$(this).html('Account found, loading details...');
      //	n();
      //});
      $('#login_error').hide();
      $('#platinum_login_error').hide();	  
      $.post('/ajax/login',
      {
        email : $("#email").val(),
        password : $("#password").val()
      },
      function(data) { 
        if (data.logged_in == false){
        	$("#login-button").removeAttr('disabled');
			$("#login-button").val('LOGIN');
			$('#login_error').show(),$('#loader').html('');
  		    _gaq.push(['_trackEvent', 'Login', 'Response', 'Failure']);  //GA Event: Regular login failure
		}
		var permissions = data.permissions;
		var access = permissions.admin + permissions.sales + permissions.purchasing + permissions.service + permissions.marketing;
        //if (access > 0){$('#resources-tab').show();}
        if (permissions.admin == 1 || permissions.marketing == 1){$('#resources-tab').show();}		
        if(data.logged_in == true) {
			 _gaq.push(['_trackEvent', 'Login', 'Response', 'Success']);	//GA Event: Regular login success
        	$('#menu_wtb a').attr('href', '/wheretobuy/'+data.countryname); 
          $('#login_nli').hide(), $('#logged_in_left').show(), $('#register_nli').hide(), $('#register_mic_right').show(), $('#loader').html(''); 
          $('#download_session').html('<a href="/downloads/rode_soundbooth_protools.zip">rodemic.com members can download the high resolution 44.1kHz 24-bit audio files and ProTools session here</a> [1.4GB ZIP archive]');
		        
          if (jQuery.url.segment(0) == 'warranty') {
            document.location = '/warranty';
          }
          if (jQuery.url.segment(0) == 'sellnscore') {
            document.location = '/sellnscore';
          }
          if (jQuery.url.segment(1) == 'transfer') {
            document.location = '/warranty/transfer';
          }
          if (jQuery.url.segment(0) == 'download') {
          	console.log(jQuery.url.segment(0));
          	console.log(jQuery.url.segment(1));
          	// get the third URI segment
          	if (!jQuery.url.segment(1) == '') {
          		console.log(jQuery.url.segment(1));
          		var dlFile = jQuery.url.segment(1);
          		document.location = '/download/'+dlFile;
          		console.log('/download/'+dlFile);
          	} 
          }
        }
        else {
			$('#login_error').show();
		}
        
        $('#showName').html(data.firstname),
        $('#micCount').html(data.mics);
        $('#tab-text').html(data.email);
		$('li.sep').html('|');
		$('a#open').html('View Account');
        
        // empty the registered mics div
        $('#registered-mics').empty();
        
        // loop through all the registered mics in the jSON array and append to the registered-mics div
        var regMics = '';
        for(var i = 0; i < data.mics; i++) {
            var mic = data[i.toString()];              
            regMics +='<div class="single-mic"><table><tr><td rowspan="3" width="95"><img src="http://media.rodemic.com/images/reg-mic-thumbs/'+mic.part_number+'.png" width="90" height="110" /></td><td><strong>'+mic.part_name+'</strong> ('+mic.serial_number+')</td>'
            + '</tr><tr><td>Purchased from '+mic.trading_name;
		          if(mic.trading_name != 'Second Hand Seller'){
		          	regMics += ', '+mic.country;
          		  }
          		  regMics +='</td></tr><tr><td>Purchased on '+mic.date_of_purchase+'<br />'+mic.warranty_text+mic.expires+'</td></tr></table></div>';
        }
        $('#registered-mics').html(regMics);
        if (data.mics == 0) {
          $('#registered-mics').html('<p>&nbsp;</p><p>&nbsp;</p><img src="http://media.rodemic.com/images/no_registeredmics.jpg" width="284" height="193" alt="No Mics Registered"/>');
        }
        
        // set the values of the account details form
        $('#firstname').val(data.firstname);
        $('#surname').val(data.surname);
        $('#updemail').val(data.email);
        $('#company').val(data.company);
        $('#band').val(data.band);
        $('#website').val(data.website);
        $('#address').val(data.street);
        $('#city').val(data.city);
        $('#state').val(data.state);
        $('#postcode').val(data.postcode);
        $('#country').val(data.country);
        $('#phone').val(data.phone);
        $('#age').val(data.age);
        $('#user-id').val(data.user_id);
        $('#user_id').val(data.user_id);
        if(data.subscribe == 2) {$('#subscribe').attr('checked','checked')};
      }, "json"
      );
    });
    
    /*
     * UPDATE PASSWORD
     */
     
     $("#update-password-form").submit(function(e){
       e.preventDefault();
       //$('#password_loader').show();
       var password = $('#update-password-field').val();
       var email = $('#updemail').val();
       var user_id = $('#user-id').val();
       // check if field 1 is empty
       if($("#update-password-field").val() == "" || $("#update-password-field").val() == "undefined" || $("#conf-update-password-field").val() == "" || $("#conf-update-password-field").val() == "undefined"
       || $("#update-password-field").val() != $("#conf-update-password-field").val()) {
          fail = 1;
        }
      else {fail = 0;}
            
      if(fail == 0){
      	$('#update-submit').attr('disabled', 'disabled');
		$('#update-submit').val('SAVING...');
       $.ajax({
         type : 'POST',
         url : '/ajax/update_password',
         data : 'user_id='+user_id+'&email='+email+'&password='+password,
         success : function(data){
       	   //$('#password_loader').hide();
           // CLEAR THE PASSWORD FIELDS AFTER SUBMIT
           $('#update-password-field').val('');
           $('#conf-update-password-field').val('');
           $('#update-password-message').show();
           $('#update-password-message').delay(5000).fadeOut(400);
           $('#update-submit').removeAttr('disabled');
			$('#update-submit').val('SAVE');
         },
         dataType : 'json'
       });
       } else {
         // TODO: Add in failed message
          return false 
         };
     });
     
    /*
     * END UPDATE PASSWORD
     */
     
    $.fn.preload = function() {
      this.each(function(){
          $('<img/>')[0].src = this;
      });
    }
    
    $(['http://media.rodemic.com/images/story-1967.jpg','http://media.rodemic.com/images/story-1990.jpg','http://media.rodemic.com/images/story-2003.jpg', 'http://media.rodemic.com/images/story-2010.jpg']).preload();

    // rode story tabs/images
    $('#1967').click(function(){
      $('#story-details-right-gallery').html('');
      $('#story-details-right-gallery').html('<img src="http://media.rodemic.com/images/story-1967.jpg" width="460" height="445" />');
    });
    
    $('#1990').click(function(){
      $('#story-details-right-gallery').html('');
      $('#story-details-right-gallery').html('<img src="http://media.rodemic.com/images/story-1990.jpg" width="460" height="445" />');
    });
    
    $('#2003').click(function(){
      $('#story-details-right-gallery').html('');
      $('#story-details-right-gallery').html('<img src="http://media.rodemic.com/images/story-2003.jpg" width="460" height="445" />');
    });
    
    $('#2010').click(function(){
      $('#story-details-right-gallery').html('');
      $('#story-details-right-gallery').html('<img src="http://media.rodemic.com/images/story-2010.jpg" width="460" height="445" />');
    });
    
    // for the logged in tabs
    var $items = $('#vtab>ul>li');
    $items.click(function() {
        $items.removeClass('selected');
        $(this).addClass('selected');
        var index = $items.index($(this));
        $('#vtab>div').hide().eq(index).show();
    }).eq(0).click();
    
    // for the jobs vertical tabs
    var $jobs_items = $('#jobs_vtab>ul>li');
    $jobs_items.click(function() {
        $jobs_items.removeClass('selected');
        $(this).addClass('selected');
        var index = $jobs_items.index($(this));
        $('#jobs_vtab>div').hide().eq(index).show();
    }).eq(0).click();
    
    /*
     *  END LOGIN PANEL
     */
     
  // update the warranty t&c link based on the mic selection
  $('#model').change(function() {
  	// check for Classic II Ltd registration
  	if($('#model').val() == 5029) {
  		$( "#dialog-confirm" ).modal({
			onShow: function (dialog) {
				var modal = this;
	
				//$('.message', dialog.data[0]).append(message);
	
				// if the user clicks "yes"
				$('.yes', dialog.data[0]).click(function () {
					window.location = "/classic";
					// close the dialog
					modal.close(); // or $.modal.close();
				});
				$('.no', dialog.data[0]).click(function () {
					$('#model').val('');
					// close the dialog
					modal.close(); // or $.modal.close();
				});
			}
		});
  	}
    if ($('#model').val() == 23 || $('#model').val() == 24 || $('#model').val() == 25 || $('#model').val() == 27 ){
      $('.terms').removeAttr('href');
      $('.terms').attr('href', "/warranty/terms#5yr");
    } else {
      $('.terms').removeAttr('href');
      $('.terms').attr('href', "/warranty/terms");
    };
    // if it's a matched pair selection, change the serial fields
    if ( $('#model').val() == 11 || $('#model').val() == 13 || $('#model').val() == 15 ){
      // change the form action to accept 2 serials
      $('#warranty-registration-form').attr('action', '/ajax/check_pair_serials');
      $('#serial_no_field').html('<input type="text" value="Serial #1" tabindex="2" class="warranty-input-small validate[required,notCTick,custom[serialNumber]]" name="serial_number_1" id="serial_number_1">&nbsp;&nbsp;<input type="text" value="Serial #2" tabindex="2" class="warranty-input-small validate[required,notequals[serial_number_1],custom[serialNumber]]" name="serial_number_2" id="serial_number_2">');
    } else {
      $('#warranty-registration-form').attr('action', '/ajax/check_serial');
      $('#serial_no_field').html('<input type="text" id="serial_number" name="serial_number" class="warranty-input validate[required,notCTick,custom[serialNumber]]"/>');
    }
    $('#serial_number_1').focus(function(){
      if ( $('#serial_number_1').val() == 'Serial #1' ){ $('#serial_number_1').val('') }
    })
    $('#serial_number_2').focus(function(){
      if ( $('#serial_number_2').val() == 'Serial #2' ){ $('#serial_number_2').val('') }
    })
  });
  
  // update the warranty t&c link based on the mic selection
  $('#model_trans').change(function() {
    if ($('#model_trans').val() == 23 || $('#model_trans').val() == 24 || $('#model_trans').val() == 25 || $('#model_trans').val() == 27 ){
      $('.terms').removeAttr('href');
      $('.terms').attr('href', "/warranty/terms#5yr");
    } else {
      $('.terms').removeAttr('href');
      $('.terms').attr('href', "/warranty/terms");
    };
    // if it's a matched pair selection, change the serial fields
    if ( $('#model_trans').val() == 11 || $('#model_trans').val() == 13 || $('#model_trans').val() == 15 ){
      // change the form action to accept 2 serials
      $('#warranty-transfer-form').attr('action', '/ajax/check_pair_serials_transfer');
      $('#serial_no_field').html('<input type="text" value="Serial #1" tabindex="2" class="warranty-input-small validate[required,custom[serialNumber]]" name="serial_number_1" id="serial_number_1">&nbsp;&nbsp;<input type="text" value="Serial #2" tabindex="2" class="warranty-input-small validate[required,notequals[serial_number_1],custom[serialNumber]]" name="serial_number_2" id="serial_number_2">');
    } else {
      $('#warranty-transfer-form').attr('action', '/ajax/check_serial_transfer');
      $('#serial_no_field').html('<input type="text" tabindex="2" class="warranty-input validate[required,notCTick,custom[serialNumber]]" name="serial_number" id="serial_number">');
    }
    $('#serial_number_1').focus(function(){
      if ( $('#serial_number_1').val() == 'Serial #1' ){ $('#serial_number_1').val('') }
    })
    $('#serial_number_2').focus(function(){
      if ( $('#serial_number_2').val() == 'Serial #2' ){ $('#serial_number_2').val('') }
    })
  });
  
  $('.read_more').click(function(){
    var job = $(this).attr('data-refno');
    $('#position_details_header').show();
    $('#position_details').show();
    $('#job_title').html('');
    $('#job_ref_no').html('');
    $('#job_dept').html('');
    $('#job_worktype').html('');
    $('#job_details').html('');
    $.ajax({ 
      type: "POST",
      url: "/ajax/get_job_by_id",
      data: "id="+job,
      success: function(data){
        $('#job_title').html(data.title);
        $('#job_ref_no').html('<strong>Reference: </strong>'+data.ref_no);
        $('#job_details').html(data.description);
        
        // now scroll the page to the job.
        $target = $('[name=job_details]'); if ($target.length) { 
          var targetOffset = $target.offset().top; $('html,body') .animate({scrollTop: targetOffset}, 1000); return false; 
        }
      }, dataType: "json"
    });
  });
  
   $('a[href*=#]:not([href=#])').click(function() { 
     if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
       var $target = $(this.hash); 
       $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']'); if ($target.length) { 
         var targetOffset = $target.offset().top; $('html,body') .animate({scrollTop: targetOffset}, 1000); return false; 
       } 
     }
   });
     
  /*
   * WHO'S ROCKIN' RÃ˜DE PANEL
   */

  $('#next-artist').click(function() { 
    //make the ajax request based on the link that is there
    // set the "next artist" variable
    var artist = $('#next-artist p').text();
    $.ajax({ 
      type: "POST",
      url: "/ajax/get_next_artist",
      data: "artist="+encodeURIComponent(artist),
      success: function(data){
        $('.artist-title').html(data.artist_name);
        $('#wrr-left').html('<a href=\"/whosrockinrode/'+data.artist_code+'\"><img src=\"http://media.rodemic.com/images/whos_rockin/artists/bio_'+data.artist_code+'.jpg\" height=\"308\" width=\"544\" alt=\"artist\" /></a>');
    		$('.artist-says p').hide();		
    		if (data.quote) {
    			$('.artist-says p').html('"'+data.quote+'"');
				$('.artist-says p').show();		
    		}
        $('.artist-blurb p').html(data.bio);
        $('.next-artist p').html(data.next);
      }, dataType: "json"
    });
  });

  /*
   *  END WHO'S ROCKIN' RÃ˜DE PANEL
   */
  
	/*
   * MIC FILTER
   */
  var micFilter = new Array();
  $('#no_mic_results').hide();
  
  $("#mic_tags td.item").click(function(){ 
	_gaq.push(['_trackEvent', 'Mic Filter', 'Added', $(this).children('img').attr('title')]);	//GA Event: Adding a mic filter
    $(this).toggleClass("item-click");
    $('#mic_microphones_list a').each(function(index) { 
    	//$(this).css('backgroundPosition', '-220px 0px');
    });
    
    // build the clicked item array
    var filterItem = $(this).attr('id');
    if (micFilter.indexOf(filterItem) === -1) {
      	micFilter.push(filterItem);
    } else {
    	var remElement = micFilter.indexOf(filterItem); // find the items index
    	micFilter.splice(remElement, 1); // remove the item
    }
	$.ajax({
		type : 'POST',
		url : '/ajax/get_mics_with_filter',
		data : {myData: micFilter},
		success : function(data){
			var micCount = data.length;
			switch (micCount) {
				case 1: micCount = '1 Product'; break;
				// TODO: COUNT ALL MICS
				case 33: micCount = 'All Products'; break;
				case 0: micCount = 'No Products'; break;
				default: micCount = micCount+' Products';
			}
			$('#mic_counter').html(micCount);
			//console.log(micCount);
			if (micCount == 'All Products') {
				$('#none_span').show(); // show the None word in the breadcrumbs
			} else {
				$('#none_span').hide(); // show the None word in the breadcrumbs
			}
			$('#AllMics li').hide();
			// now show only the results in the json array
			if (data.length === 0){
				$('#no_mic_results').show();
			} else {
				$('#no_mic_results').hide();
				if (data.length === 33){
					$.each(data, function(i) {
						$('#AllMics').append('<li><a id="'+data[i].part_number+'" title="'+data[i].part_name+'" href="/mics/'+data[i].part_number+'"><span class="item-desc"><p>'+data[i].description_one_line+'</p></span></a></li>');
					});
				} else {
					$.each(data, function(i) {
						$('#AllMics').append('<li><a  style="background-position:-220px 0px;" id="'+data[i].part_number+'" title="'+data[i].part_name+'" href="/mics/'+data[i].part_number+'"><span class="item-desc"><p>'+data[i].description_one_line+'</p></span></a></li>');
					});
				}
			}

		}, dataType: "json"
	});
    
    // build the breadcrumbs    
    var tagname = $(this).text(),
        filternames = $('#filter_names').text();
    if (filternames.indexOf(tagname) === -1) {
      $('#filter_names').append(' > '+tagname);
    } else {
      $('#filter_names').text(filternames.replace(' > '+tagname, ''));
    }
  });
  
  /*
   *  END MIC FILTER
   */
     
  /*
   * ACCESSORY FILTER
   */
  
  // hide some things
  $(".loading").hide();
  $("#no-results").hide();
  var accessoryNames = new Array();
  
  $("#tags td.item").click(function(){ 
    $(this).toggleClass("item-click");
    $('#microphones_list a').each(function(index) {
      $(this).css('backgroundPosition', '-220px 0px');
    });
    
    var filterItem = $(this).attr('id');
    if (accessoryNames.indexOf(filterItem) === -1) {
      	accessoryNames.push(filterItem);
    } else {
    	var remElement = accessoryNames.indexOf(filterItem); // find the items index
    	accessoryNames.splice(remElement, 1); // remove the item
    }
    
    if (accessoryNames.length > 0) {
    	$("#filtered").show(); // show reset button
      	$("#filtered_acc").show(); // show reset button
      	$("#filtered_init").hide(); // hide reset button
      	$('#none_span').hide(); // hide the None word in the bradcrumbs
    } else {
    	$("#filtered").hide(); // hide reset button
      	$("#filtered_acc").hide(); // hide reset button
      	$("#filtered_init").show(); // show reset button
      	$('#none_span').show(); // show the None word in the bradcrumbs
    }
    
    // build the breadcrumbs
    var tagname = $(this).text();
    var filternames = $('#filter_names').text();
    if (filternames.indexOf(tagname) === -1) {
      $('#filter_names').append(' > '+tagname);
    } else {
      $('#filter_names').text(filternames.replace(' > '+tagname, ''));
    }
    
    $(".loading").show();
    setTimeout(function() {
      $(".loading").hide();
    }, 1000);
  });
  
  var filters = [];
  function filterMics(filter) { 
    var f = ".f_" + filter;
    if($.inArray(f, filters) > -1)
      filters = $.grep(filters, function(val) { return val != f; });
    else
      filters.push(f);
    if(filters.length == 0) {
      //$("#no-results").show();
      $(".f_all").show(); // show all mics
      $("#filtered").hide(); // hide reset button
      $("#filtered_acc").hide(); // show reset button
      $("#filtered_init").show(); // hide reset button
      $('a').each(function(index) {
        $(this).css('backgroundPosition', '0px 0px');
      });
      return //if array is empty
    }
    else {
      $("#filtered").show(); // show reset button
      $("#filtered_acc").show(); // show reset button
      $("#filtered_init").hide(); // show reset button
    }
    $(".f_all").hide();
    $(filters.join("")).show();  // show products only for this category
  }
  
  $("#filtered").click(function() {
	  _gaq.push(['_trackEvent', 'Mic Filter', 'Reset', '']);	//GA Event: Reset Mic Filter
      window.location = "/mics";
  });
  $("#filtered_acc .accessory").click(function() {
      window.location = "/accessories";
  });
 
	$('#help').click(function() {
	  _gaq.push(['_trackEvent', 'Mic Filter', 'Help', '']);	//GA Event: Mic Filter Help
	});
 
 
  //calling the function to show filtered products
  $("#studio").click(function(){filterMics("studio");});
  $("#live-performance").click(function(){filterMics("live-performance");});
  $("#broadcast").click(function(){filterMics("broadcast");});
  $("#presentation").click(function(){filterMics("presentation");});
  $("#usb").click(function(){filterMics("usb");});  
  $("#valve").click(function(){filterMics("valve");});
  $("#large-diaphragm").click(function(){filterMics("large-diaphragm");});
  $("#small-diaphragm").click(function(){filterMics("small-diaphragm");});
  $("#condenser").click(function(){filterMics("condenser");});
  $("#dynamic").click(function(){filterMics("dynamic");});
  $("#electret").click(function(){filterMics("electret");});
  $("#stereo").click(function(){filterMics("stereo");});
  $("#matched-pair").click(function(){filterMics("matched-pair");});
  $("#cardioid").click(function(){filterMics("cardioid");});
  $("#omni").click(function(){filterMics("omni");});
  $("#figure8").click(function(){filterMics("figure8");});
  $("#super-cardioid").click(function(){filterMics("super-cardioid");});
  $("#multi-pattern").click(function(){filterMics("multi-pattern");});
  $("#piano").click(function(){filterMics("piano");});
  $("#drums").click(function(){filterMics("drums");});
  $("#guitar-amp").click(function(){filterMics("guitar-amp");});
  $("#vocals").click(function(){filterMics("vocals");});
  $("#bass").click(function(){filterMics("bass");});
  $("#string").click(function(){filterMics("string");});
  $("#woodwind").click(function(){filterMics("woodwind");});
  $("#brass").click(function(){filterMics("brass");});
  $("#percussion").click(function(){filterMics("percussion");});
  
  /*
   *  END Accessory FILTER
   */
   
  /*
   *  MARKETING RESOURCES
   */
   
	$("table#product-assets  tr.data-row").filter(":odd").css('background', '#DDD');
	var colour;
	$("table#product-assets  tr.data-row").mouseenter(function(){
		colour = $(this).css('background');
		$(this).css('background', '#CCC');
    }).mouseleave(function(){
		$(this).css('background', colour);
    });
  /*
   *  END MARKETING RESOURCES
   */   
  
	/*
	 * BUY IT NOW
	 */
	// change country select
	$('#bin_choose_new_country').live('change',function(){
   		var countryname = $(this).val();
   		var id = $('#bin_part').val();
   		if (countryname != '') {
	   		// first do the distrib details
	   		$.ajax({
				type : 'POST',
				url : '/ajax/get_distributor_by_country',
				data : 'country='+countryname,
				success : function(data){
					// update the country and flag at the top, plus the link at the bottom
					var flagName = countryname.split(' ').join('_').toLowerCase();
					$('#flag').html('<img width="33" height="23" src="http://media.rodemic.com//images/flags/'+flagName+'.jpg">');
					$('#country_name_text').html(countryname);
					$('#bin_where_to_buy').html('<a href="/wheretobuy/'+flagName+'">View all authorised dealers in '+countryname+'</a>');
					$('#dist_details').html('');
					$.each(data, function(i, data) {
						$('#dist_details').append('<div class="bin_each_dist"><div class="bin_dist_image"><img width="114" height="56" alt="'+data.trading_name+'" src="/images/dealers/'+data.id+'/buy_it_now_logo.jpg"></div><div class="bin_dist_details"><strong>'+data.trading_name+'</strong><br>'+data.street+'<br>'+data.city+' '+data.state+'<br>'+data.postcode+' '+data.country+'<br>Ph: '+data.phone+'<br><a href="mailto:'+data.email+'">'+data.email+'</a><br><a target="_blank" href="'+data.website+'">'+data.website+'</a></div><div style="clear:both;"></div></div>');
					});
				},
				dataType : 'json'
			});	
	   		// then do the dealer details
	   		$.ajax({
				type : 'POST',
				url : '/ajax/get_online_dealers_by_country',
				data : 'country='+countryname+'&id='+id,
				success : function(data){
					$('#bin_dealer_list').html('');
					$.each(data, function(i, data) {
						$('#bin_dealer_list').append('<div class="bin_each_dealer"><div class="bin_dealer_image"><img width="114" height="56" alt="'+data.trading_name+'" src="/images/dealers/'+data.dealer+'/buy_it_now_logo.jpg"></div><div class="bin_dealer_name">'+data.trading_name+'</div><div class="bin_buy_it_now"><a target="_blank" href="'+data.url+'"><img width="136" height="49" alt="Buy It Now" src="/images/buy-it-now.png"></a></div><div style="clear:both;"></div></div>');
					});
				},
				dataType : 'json'
			});	
   		}
	});
  
  /*
   * WHERE TO BUY
   */
  
  	// change country select
   $('#choose_new_country').change(function(){
   	var countryname = $(this).val();
   	window.location.href = '/wheretobuy/'+countryname;
   });
	//Zebra stripe the dealer list
	$("tr.dealer-listing").filter(":odd").css('background-color', '#DDD');
	$("tr.dealer-listing").filter(":even").css('background-color', '#E6E6E6');	
	var colour;
	$("tr.dealer-listing").mouseenter(function(){
		colour = $(this).css('background-color');
		$(this).css('background-color', '#C5A260');
    }).mouseleave(function(){
		$(this).css('background-color', colour);
    });

    $("tr.dealer-address").hide(); 
    $("#all_dealer_country tr.multi-location").click(function(){
      $(this).next("tr").toggle();
    })
    .toggle( function() {
    $("#expander", this).html("<img src=\"http://media.rodemic.com/images/wtb_minus.gif\" />");
    }, function() {
        $("#expander", this).html("<img src=\"http://media.rodemic.com/images/wtb_plus.gif\" />");
    });

	// scroll the map div when the user scrolls
	var $scrollingDiv = $("#map_frame");
	var bottomPosition = $(document).height(); 
  	$(window).scroll(function(){
  		if($(window).scrollTop() > 620 ){ // Start scrolling after this distance from the top
	    	$scrollingDiv.stop().animate({"marginTop": ($(window).scrollTop() - 650 ) + "px"}, "fast" ); // How many pixels to add to the distance
	    }
	    if($(window).scrollTop() <= 620 ){ // this stops the element raising up too high up the page
			$scrollingDiv.stop().animate({"marginTop": "0px"}, "fast" );
	    }
	    if($(window).scrollTop() >= (bottomPosition - 1150 ) ){ // this stops the element from scrolling when you hit the bottom of the page
	      	$scrollingDiv.stop();
	    }
	});
    
  //set a map marker for each of the listed dealers
  $('.dealer_clickthrough').each(function(){
    var lat = $(this).attr('lat');
    var lng = $(this).attr('lng');
    
      //google.maps.setZoom(16); // This will trigger a zoom_changed on the map
      
      // Sample custom marker code created with Google Map Custom Marker Maker
      // http://www.powerhut.co.uk/googlemaps/custom_markers.php
      
      var image = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/image.png',
        new google.maps.Size(34,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
    
      var shadow = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/shadow.png',
        new google.maps.Size(70,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
      
      var marker = new google.maps.Marker({
        position: new google.maps.LatLng(lat, lng), 
        map: gmap,
        title: name,
        clickable: true,
        icon: image,
        shadow: shadow
      });
  });
    
  function getDistributor(xml) {
    distributor_name = $("name", xml).text();
    phone = $("phone", xml).text();
    email = $("email", xml).text();
    website = $("website", xml).text();
    address = $("address", xml).text();
    city = $("city", xml).text();
    state = $("state", xml).text();
    postcode = $("postcode", xml).text();
    country = $("country", xml).text();
    
    $('.distributor').html('');
    $('.distributor').html("<p><strong>"+distributor_name+"</strong><br />"+address+"<br />"+city+" "+state+" "+postcode+"<br />"+country+"<br />Ph: "+phone+"<br />"+"<a href=\"http://"+website+"\">"+website+"</a>"+"<br />"+"<a href=\"mailto:"+email+"\">"+email+"</a>"+"</p>");
  }
  
  function getDealers(xml) {
    //Update dealers
    var dealerList = '';
    count = $("total", xml).text();
    index = 0;
    var optionList = '';
    var lastDealer = '';
    var firstDealer = 0;
	var dealerCache = new Array();
    if ($('states', xml).length > 0){
      $('p#states').html('Filter by state:<select id="state_list" name="state_list"><option value="all">All</option></select>');
      $('countrystate',xml).each(function(){
        var select = $('#state_list');
        var countrystate = $(this).text();
        select.append('<option value="'+countrystate+'">'+countrystate+'</option>');
      });
    }
    $("dealer",xml).each(function(id) { 
      dealer = $("dealer",xml).get(id);
      //part = $("part",xml).get(id);
      dealer_name = $("name", dealer).text();
      region = $("region", dealer).text();
      phone = $("phone", dealer).text();
      fax = $("fax", dealer).text();
      email = $("email", dealer).text();
      website = $("website", dealer).text();
      displayURL = $("websiteurl", dealer).text();
      int_dial_prefix = $("int_dial_prefix", dealer).text();
      address = $("street", dealer).text();
      address2 = $("address2", dealer).text();
      city = $("city", dealer).text();
      state = $("state", dealer).text();
      postcode = $("postcode", dealer).text();
      country = $("country", dealer).text();
      area_code = $("area_code", dealer).text();
      lat = $("lat", dealer).text();
      lng = $("lng", dealer).text();
      
	  
		if ((dealer_name == lastDealer) || (firstDealer == 0)){
			//It's the same dealer, keep caching the results until we hit a new dealer
			dealerCache[index] = new Array();
			dealerCache[index]['name'] = dealer_name;
			dealerCache[index]['street'] = address;
			dealerCache[index]['city'] = city;
			dealerCache[index]['state'] = state;
			dealerCache[index]['postcode'] = postcode;
			dealerCache[index]['country'] = country;
			dealerCache[index]['phone'] = phone;
			dealerCache[index]['website'] = website;
			dealerCache[index]['email'] = email;
			dealerCache[index]['lat'] = lat;
			dealerCache[index]['lng'] = lng;
			lastDealer = dealer_name;
			index++;
			firstDealer = 1;
		} else { 
			//if we're starting a new dealer
			//Output the array to the page
			if (index == 1) {
				//Single location
				dealerList +=  '<tr class="dealer-listing single-location"><td><div class="dealer_clickthrough" lat="'+dealerCache[0]['lat']+'" lng="'+dealerCache[0]['lng']+'" title="'+dealerCache[0]['name']+'" data-address="'+dealerCache[0]['street']+'" data-city="'+dealerCache[0]['city']+'" data-state="'+dealerCache[0]['state']+'" data-postcode="'+dealerCache[0]['postcode']+'" data-country="'+dealerCache[0]['country']+'" data-phone="'+dealerCache[0]['phone']+'" data-website="'+dealerCache[0]['website']+'" data-email="'+dealerCache[0]['email']+'">'+dealerCache[0]['name']+'</div></td><td align="right"><div class="dealer_clickthrough" lat="'+dealerCache[0]['lat']+'" lng="'+dealerCache[0]['lng']+'" title="'+dealerCache[0]['name']+'" data-address="'+dealerCache[0]['street']+'" data-city="'+dealerCache[0]['city']+'" data-state="'+dealerCache[0]['state']+'" data-postcode="'+dealerCache[0]['postcode']+'" data-country="'+dealerCache[0]['country']+'" data-phone="'+dealerCache[0]['phone']+'" data-website="'+dealerCache[0]['website']+'" data-email="'+dealerCache[0]['email']+'">'+dealerCache[0]['city']+'</div></td></tr>';
			} else {
				//Multiple locations
				dealerList +=  '<tr class="dealer-listing multi-location"><td>'+dealerCache[0]['name']+'<td align="right"><span id="expander"><img src="http://media.rodemic.com/images/wtb_plus.gif" /></span>&nbsp;Multiple Locations</td></tr>';
				dealerList +=  '<tr class="dealer-address"><td colspan="2">';
				$.each(dealerCache, function(index, dealerAddress) {
					dealerList +=  '<div class="dealer_clickthrough dealer_location" lat="'+dealerAddress['lat']+'" lng="'+dealerAddress['lng']+'" title="'+dealerAddress['name']+'" data-address="'+dealerAddress['street']+'" data-city="'+dealerAddress['city']+'" data-state="'+dealerAddress['state']+'" data-postcode="'+dealerAddress['postcode']+'" data-country="'+dealerAddress['country']+'" data-phone="'+dealerAddress['phone']+'" data-website="'+dealerAddress['website']+'" data-email="'+dealerAddress['email']+'">'+dealerAddress['street']+', '+dealerAddress['city']+' '+dealerAddress['state']+'</div>';
				});
				dealerList +=  '</td></tr>';
			}
			//Need to reset the whole dealerCache array
			dealerCache.length = 0;
			delete dealerCache;
			
			//Now cache the first record for the new dealer
			dealerCache[0] = new Array();
			dealerCache[0]['name'] = dealer_name;
			dealerCache[0]['street'] = address;
			dealerCache[0]['city'] = city;
			dealerCache[0]['state'] = state;
			dealerCache[0]['postcode'] = postcode;
			dealerCache[0]['country'] = country;
			dealerCache[0]['phone'] = phone;
			dealerCache[0]['website'] = website;
			dealerCache[0]['email'] = email;
			dealerCache[0]['lat'] = lat;
			dealerCache[0]['lng'] = lng;
			lastDealer = dealer_name;
			index = 1;
		}
	  
     });
	 
	  //output the final dealer record
	if (index == 1) {
		//Single location
		dealerList +=  '<tr class="dealer-listing single-location"><td><div class="dealer_clickthrough" lat="'+dealerCache[0]['lat']+'" lng="'+dealerCache[0]['lng']+'" title="'+dealerCache[0]['name']+'" data-address="'+dealerCache[0]['street']+'" data-city="'+dealerCache[0]['city']+'" data-state="'+dealerCache[0]['state']+'" data-postcode="'+dealerCache[0]['postcode']+'" data-country="'+dealerCache[0]['country']+'" data-phone="'+dealerCache[0]['phone']+'" data-website="'+dealerCache[0]['website']+'" data-email="'+dealerCache[0]['email']+'">'+dealerCache[0]['name']+'</div></td><td align="right"><div class="dealer_clickthrough" lat="'+dealerCache[0]['lat']+'" lng="'+dealerCache[0]['lng']+'" title="'+dealerCache[0]['name']+'" data-address="'+dealerCache[0]['street']+'" data-city="'+dealerCache[0]['city']+'" data-state="'+dealerCache[0]['state']+'" data-postcode="'+dealerCache[0]['postcode']+'" data-country="'+dealerCache[0]['country']+'" data-phone="'+dealerCache[0]['phone']+'" data-website="'+dealerCache[0]['website']+'" data-email="'+dealerCache[0]['email']+'">'+dealerCache[0]['city']+'</div></td></tr>\n';
	} else {
		//Multiple locations
		dealerList +=  '<tr class="dealer-listing multi-location"><td>'+dealerCache[0]['name']+'<td align="right"><span id="expander"><img src="http://media.rodemic.com/images/wtb_plus.gif" /></span>&nbsp;Multiple Locations</td></tr>\n';
		dealerList +=  '<tr class="dealer-address"><td colspan="2">\n';
		$.each(dealerCache, function(index, dealerAddress) {
			dealerList +=  '<div class="dealer_clickthrough dealer_location" lat="'+dealerAddress['lat']+'" lng="'+dealerAddress['lng']+'" title="'+dealerAddress['name']+'" data-address="'+dealerAddress['street']+'" data-city="'+dealerAddress['city']+'" data-state="'+dealerAddress['state']+'" data-postcode="'+dealerAddress['postcode']+'" data-country="'+dealerAddress['country']+'" data-phone="'+dealerAddress['phone']+'" data-website="'+dealerAddress['website']+'" data-email="'+dealerAddress['email']+'">'+dealerAddress['street']+', '+dealerAddress['city']+' '+dealerAddress['state']+'</div>\n';
		});
		dealerList +=  '</td></tr>\n';
	}
    
    $('#dealer_list tbody').html(dealerList);
	//Zebra stripe the dealer list
	$("tr.dealer-listing").filter(":odd").css('background-color', '#DDD');
	$("tr.dealer-listing").filter(":even").css('background-color', '#E6E6E6');	
	var colour;
	$("tr.dealer-listing").mouseenter(function(){
		colour = $(this).css('background-color');
		$(this).css('background-color', '#C5A260');
    }).mouseleave(function(){
		$(this).css('background-color', colour);
    });

    $("tr.dealer-address").hide(); 
    $("#all_dealer_country tr.multi-location").click(function(){
      $(this).next("tr").toggle();
    })
    .toggle( function() {
    $("#expander", this).html("<img src=\"http://media.rodemic.com/images/wtb_minus.gif\" />");
    }, function() {
        $("#expander", this).html("<img src=\"http://media.rodemic.com/images/wtb_plus.gif\" />");
    });
  }
  
  // filter by state
  $('#state_filter').change(function(){
    
    // get the url segment for the country
    var pathArray = window.location.pathname.split( '/' );
    var secondLevelLocation = pathArray[2];
    //alert(secondLevelLocation);
    
    $('#dealer_list tbody').html('Loading... Please wait...');
    $.post("/ajax/dealers_state_wtb", { state: $(this).val(), country: secondLevelLocation },
      function(xml){
      getDealers(xml);
      
      
      // action when user clicks the store
    $("div.dealer_clickthrough").click(function(){ 
      var name = $(this).attr('title');
      var address = $(this).attr('data-address');
      var city = $(this).attr('data-city');
      var state = $(this).attr('data-state');
      var postcode = $(this).attr('data-postcode');
      var country = $(this).attr('data-country');
      var website = $(this).attr('data-website');
      var phone = $(this).attr('data-phone');
      var email = $(this).attr('data-email');
      var lat = $(this).attr('lat');
      var lng = $(this).attr('lng');
	  var company_details = '<h3>'+name+'</h3>';
	  if (website != '') {
		company_details += '<a href=\"http://'+website+'\" target=\"_blank\" onclick=\"_gaq.push([\'_trackEvent\', \'Outbound link\', \'click\', \''+escape(name)+'\']);\">'+website+'</a><br/>';
	  }
	  if (email != '') {
		company_details += '<a href=\"mailto:'+email+'\">'+email+'</a><br />';
	  }	  
	  if (address != '') {
		company_details += address+'<br/>';
	  }
	  if (city != '') {
		company_details += ' '+city;
	  }
	  if (state != '') {
		company_details += ' '+state;
	  }
	  if (postcode != '') {
		company_details += ' '+postcode;
	  }
	  if (phone != '') {
		company_details += '<br />Ph:'+phone;
	  }
	  
      $('#map_text').html(company_details);
      // post this to get the map marker
      gmap.setZoom(16); // This will trigger a zoom_changed on the map
      
      // Sample custom marker code created with Google Map Custom Marker Maker
      // http://www.powerhut.co.uk/googlemaps/custom_markers.php
      
      var image = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/image.png',
        new google.maps.Size(34,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
    
      var shadow = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/shadow.png',
        new google.maps.Size(70,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
      
      var marker = new google.maps.Marker({
            position: new google.maps.LatLng(lat, lng), 
            map: gmap,
            title: name,
            clickable: true,
            icon: image,
            shadow: shadow
          });

      gmap.setCenter(new google.maps.LatLng(lat, lng));
      gmap.setMapTypeId(google.maps.MapTypeId.ROADMAP);
      gmap.getCenter();
      google.maps.event.trigger(gmap, 'resize');
      gmap.setZoom( gmap.getZoom() );
    });
    });
    
  });
  
  // action when user clicks the store - duplicate?
    $("div.dealer_clickthrough").click(function(){ 
      var name = $(this).attr('title');
      var address = $(this).attr('data-address');
      var city = $(this).attr('data-city');
      var state = $(this).attr('data-state');
      var postcode = $(this).attr('data-postcode');
      var country = $(this).attr('data-country');
      var website = $(this).attr('data-website');
      var phone = $(this).attr('data-phone');
      var email = $(this).attr('data-email');
      var lat = $(this).attr('lat');
      var lng = $(this).attr('lng');
	  var company_details = '<h3>'+name+'</h3>';
	  if (website != '') {
		company_details += '<a href=\"http://'+website+'\" target=\"_blank\" onclick=\"_gaq.push([\'_trackEvent\', \'Outbound link\', \'click\', \''+escape(name)+'\']);\">'+website+'</a><br/>';
	}
	  if (email != '') {
		company_details += '<a href=\"mailto:'+email+'\">'+email+'</a><br />';
	  }	  
	  if (address != '') {
		company_details += address+'<br/>';
	  }
	  if (city != '') {
		company_details += ' '+city;
	  }
	  if (state != '') {
		company_details += ' '+state;
	  }
	  if (postcode != '') {
		company_details += ' '+postcode;
	  }
	  if (phone != '') {
		company_details += '<br />Ph:'+phone;
	  }
	  
      $('#map_text').html(company_details);
      // post this to get the map marker
      gmap.setZoom(16); // This will trigger a zoom_changed on the map
      
      // Sample custom marker code created with Google Map Custom Marker Maker
      // http://www.powerhut.co.uk/googlemaps/custom_markers.php
      
      var image = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/image.png',
        new google.maps.Size(34,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
    
      var shadow = new google.maps.MarkerImage(
        'http://media.rodemic.com/images/markers/shadow.png',
        new google.maps.Size(70,63),
        new google.maps.Point(0,0),
        new google.maps.Point(17,63)
      );
      
      var marker = new google.maps.Marker({
            position: new google.maps.LatLng(lat, lng), 
            map: gmap,
            title: name,
            clickable: true,
            icon: image,
            shadow: shadow
          });

      gmap.setCenter(new google.maps.LatLng(lat, lng));
      gmap.setMapTypeId(google.maps.MapTypeId.ROADMAP);
      gmap.getCenter();
      google.maps.event.trigger(gmap, 'resize');
      gmap.setZoom( gmap.getZoom() );
    });
    

	$('select#dist-country').change(function() {
		$.ajax({
			type : 'POST',
			url : '/ajax/get_distributor_by_country',
			data : 'country='+$(this).val(),
			success : function(data){
				$.each(data, function(i) {	
					if((data[i].country == 'Australia') || (data[i].country == 'United States')) {
						$('#service_agent_name').html('<strong>Please contact R&Oslash;DE global support via the contact form below.</strong>');
						$('#service_agent_address').html('<p></p>');
						$('#service_agent_phone').html('<p></p>');
						$('#service_agent_web').html('<p></p>');
					} else {
						$('#service_agent_name').html('<strong>'+data[i].trading_name+'</strong>');
						$('#service_agent_address').html('<p>'+data[i].street+'<br/>'+data[i].city+' '+data[i].state+' '+data[i].postcode+'<br/>'+data[i].country+'</p>');
						$('#service_agent_phone').html('<p>Phone: '+data[i].phone+'</p>');
						$('#service_agent_web').html('<p><a href="http://'+data[i].website+'">'+data[i].website+'</a><br/><a href="mailto:'+data[i].email+'">'+data[i].email+'</a></p>');
					}
				});
				$('#service_agent_contact_details').show();
			},
			dataType : 'json'
		});		
		
	});
	
	/*
	 * FAQ
	 */
  
  // fancy stuff for the faq search form
  $('#faq-search').val('Search FAQ');
  $('#faq-search').focus(function(){
  	if($(this).val() == 'Search FAQ') {
  		$(this).val('');
  	}
  });
  
  $('#search-faq').click(function(){
  	var searchString = jQuery.trim($('#faq-search').val());
  	searchString = searchString.replace(/\s+/g, '-').toLowerCase();
  	window.location = '/faq/search/'+searchString;
  });
  
	$("#faq-search").bind("keydown", function(e) {
		if (e.keyCode == 13) return false;
	});
  
   // get current rating
   if (jQuery.url.segment(0) == 'faq' && jQuery.url.segment(1) != '') {
            getRating();
      }
	
	// get rating function
	function getRating(){
		var faq_id = $('#faq_id').html()
		$.ajax({
			type: "GET",
			url: "/update.php",
			data: "do=getrate&id="+faq_id,
			cache: false,
			async: false,
			success: function(result) {
				// apply star rating to element
				$("#current-rating").css({ width: "" + result + "%" });
			},
			error: function(result) {
				alert("some error occured, please try again later");
			}
		});
	}
	
	// link handler
	$('#ratelinks li a').click(function(){
		$.ajax({
			type: "GET",
			url: "/update.php",
			data: "rating="+$(this).text()+"&id="+$(this).attr("data-id")+"&do=rate",
			cache: false,
			async: false,
			success: function(result) {
				// remove #ratelinks element to prevent another rate
				$("#ratelinks").remove();
				// get rating after click
				getRating();
			},
			error: function(result) {
				alert("some error occured, please try again later");
			}
		});
		
	});
	
	$('#faq-product').change(function(){
		var product = $(this).val();
		if(product == 'all'){
			window.location = '/faq';
		}else{
			window.location = '/faq/product/'+product;
		}
		
	});
	
	/*
	 * END FAQ
	 */
	
	
	/*
	 * CATER FOR PODCASTER DOWNLOAD
	 */
	
	$('#podcaster_firmware').click(function(){
		//alert('Nope');
		var response = confirm('CAUTION. PLEASE READ THE BELOW CAREFULLY BEFORE PROCEEDING:\n Please ONLY run this update on PC that currently recognises the Podcaster.\n Running this update on a PC that does NOT recognise the device can permanently damage the Podcaster.\n If your microphone serial number is below 7730, you will need to run this update on a Windows XP machine, or contact support. \n If you are unsure whether your PC is recognising your mic, please contact our support team.');
		if(response) {
			window.location = 'http://www.rodemic.com/download/PodcasterUploader.exe';
		} else {
			// do nothing.
		}
	});
		
});
//SLIDER
(function(a){var A=function(s,v){var f=a.extend({},a.fn.rmSlider.defaults,v),g={currentSlide:0,currentImage:"",totalSlides:0,randAnim:"",running:false,paused:false,stop:false},e=a(s);e.data("rm:vars",g);e.css("position","relative");e.addClass("rmSlider");var j=e.children();j.each(function(){var b=a(this),h="";if(!b.is("img")){if(b.is("a")){b.addClass("rm-imageLink");h=b}b=b.find("img:first")}var c=b.width();if(c==0)c=b.attr("width");var o=b.height();if(o==0)o=b.attr("height");c>e.width()&&
e.width(c);o>e.height()&&e.height(o);h!=""&&h.css("display","none");b.css("display","none");g.totalSlides++});if(f.startSlide>0){if(f.startSlide>=g.totalSlides)f.startSlide=g.totalSlides-1;g.currentSlide=f.startSlide}g.currentImage=a(j[g.currentSlide]).is("img")?a(j[g.currentSlide]):a(j[g.currentSlide]).find("img:first");a(j[g.currentSlide]).is("a")&&a(j[g.currentSlide]).css("display","block");e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');for(var k=0;k<f.slices;k++){var p=
Math.round(e.width()/f.slices);k==f.slices-1?e.append(a('<div class="rm-slice"></div>').css({left:p*k+"px",width:e.width()-p*k+"px"})):e.append(a('<div class="rm-slice"></div>').css({left:p*k+"px",width:p+"px"}))}e.append(a('<div class="rm-caption"><p></p></div>').css({display:"none",opacity:f.captionOpacity}));if(g.currentImage.attr("title")!=""){k=g.currentImage.attr("title");if(k.substr(0,1)=="#")k=a(k).html();a(".rm-caption p",e).html(k);a(".rm-caption",e).fadeIn(f.animSpeed)}var l=
0;if(!f.manualAdvance&&j.length>1)l=setInterval(function(){r(e,j,f,false)},f.pauseTime);if(f.directionNav){e.append('<div class="rm-directionNav"><a class="rm-prevNav">Prev</a><a class="rm-nextNav">Next</a></div>');if(f.directionNavHide){a(".rm-directionNav",e).hide();e.hover(function(){a(".rm-directionNav",e).show()},function(){a(".rm-directionNav",e).hide()})}a("a.rm-prevNav",e).live("click",function(){if(g.running)return false;clearInterval(l);l="";g.currentSlide-=2;r(e,j,f,"prev")});
a("a.rm-nextNav",e).live("click",function(){if(g.running)return false;clearInterval(l);l="";r(e,j,f,"next")})}if(f.controlNav){p=a('<div class="rm-controlNav"></div>');e.append(p);for(k=0;k<j.length;k++)if(f.controlNavThumbs){var t=j.eq(k);t.is("img")||(t=t.find("img:first"));f.controlNavThumbsFromRel?p.append('<a class="rm-control" rel="'+k+'"><img src="'+t.attr("rel")+'" alt="" /></a>'):p.append('<a class="rm-control" rel="'+k+'"><img src="'+t.attr("src").replace(f.controlNavThumbsSearch,
f.controlNavThumbsReplace)+'" alt="" /></a>')}else p.append('<a class="rm-control" rel="'+k+'">'+(k+1)+"</a>");a(".rm-controlNav a:eq("+g.currentSlide+")",e).addClass("active");a(".rm-controlNav a",e).live("click",function(){if(g.running)return false;if(a(this).hasClass("active"))return false;clearInterval(l);l="";e.css("background",'url("'+g.currentImage.attr("src")+'") no-repeat');g.currentSlide=a(this).attr("rel")-1;r(e,j,f,"control")})}f.keyboardNav&&a(window).keypress(function(b){if(b.keyCode==
"37"){if(g.running)return false;clearInterval(l);l="";g.currentSlide-=2;r(e,j,f,"prev")}if(b.keyCode=="39"){if(g.running)return false;clearInterval(l);l="";r(e,j,f,"next")}});f.pauseOnHover&&e.hover(function(){g.paused=true;clearInterval(l);l=""},function(){g.paused=false;if(l==""&&!f.manualAdvance)l=setInterval(function(){r(e,j,f,false)},f.pauseTime)});e.bind("rm:animFinished",function(){g.running=false;a(j).each(function(){a(this).is("a")&&a(this).css("display","none")});a(j[g.currentSlide]).is("a")&&
a(j[g.currentSlide]).css("display","block");if(l==""&&!g.paused&&!f.manualAdvance)l=setInterval(function(){r(e,j,f,false)},f.pauseTime);f.afterChange.call(this)});var w=function(b,h){var c=0;a(".rm-slice",b).each(function(){var o=a(this),d=Math.round(b.width()/h.slices);c==h.slices-1?o.css("width",b.width()-d*c+"px"):o.css("width",d+"px");c++})},r=function(b,h,c,o){var d=b.data("rm:vars");d&&d.currentSlide==d.totalSlides-1&&c.lastSlide.call(this);if((!d||d.stop)&&!o)return false;c.beforeChange.call(this);
if(o){o=="prev"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');o=="next"&&b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat')}else b.css("background",'url("'+d.currentImage.attr("src")+'") no-repeat');d.currentSlide++;if(d.currentSlide==d.totalSlides){d.currentSlide=0;c.slideshowEnd.call(this)}if(d.currentSlide<0)d.currentSlide=d.totalSlides-1;d.currentImage=a(h[d.currentSlide]).is("img")?a(h[d.currentSlide]):a(h[d.currentSlide]).find("img:first");if(c.controlNav){a(".rm-controlNav a",
b).removeClass("active");a(".rm-controlNav a:eq("+d.currentSlide+")",b).addClass("active")}if(d.currentImage.attr("title")!=""){var u=d.currentImage.attr("title");if(u.substr(0,1)=="#")u=a(u).html();a(".rm-caption",b).css("display")=="block"?a(".rm-caption p",b).fadeOut(c.animSpeed,function(){a(this).html(u);a(this).fadeIn(c.animSpeed)}):a(".rm-caption p",b).html(u);a(".rm-caption",b).fadeIn(c.animSpeed)}else a(".rm-caption",b).fadeOut(c.animSpeed);var m=0;a(".rm-slice",b).each(function(){var i=
Math.round(b.width()/c.slices);a(this).css({height:"0px",opacity:"0",background:'url("'+d.currentImage.attr("src")+'") no-repeat -'+(i+m*i-i)+"px 0%"});m++});if(c.effect=="random"){h=["sliceDownRight","sliceDownLeft","sliceUpRight","sliceUpLeft","sliceUpDown","sliceUpDownLeft","fold","fade","slideInRight","slideInLeft"];d.randAnim=h[Math.floor(Math.random()*(h.length+1))];if(d.randAnim==undefined)d.randAnim="fade"}if(c.effect.indexOf(",")!=-1){h=c.effect.split(",");d.randAnim=h[Math.floor(Math.random()*
h.length)];if(d.randAnim==undefined)d.randAnim="fade"}d.running=true;if(c.effect=="sliceDown"||c.effect=="sliceDownRight"||d.randAnim=="sliceDownRight"||c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft"){var n=0;m=0;w(b,c);h=a(".rm-slice",b);if(c.effect=="sliceDownLeft"||d.randAnim=="sliceDownLeft")h=a(".rm-slice",b)._reverse();h.each(function(){var i=a(this);i.css({top:"0px"});m==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",function(){b.trigger("rm:animFinished")})},
100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="sliceUp"||c.effect=="sliceUpRight"||d.randAnim=="sliceUpRight"||c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft"){m=n=0;w(b,c);h=a(".rm-slice",b);if(c.effect=="sliceUpLeft"||d.randAnim=="sliceUpLeft")h=a(".rm-slice",b)._reverse();h.each(function(){var i=a(this);i.css({bottom:"0px"});m==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",
function(){b.trigger("rm:animFinished")})},100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="sliceUpDown"||c.effect=="sliceUpDownRight"||d.randAnim=="sliceUpDown"||c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft"){var x=m=n=0;w(b,c);h=a(".rm-slice",b);if(c.effect=="sliceUpDownLeft"||d.randAnim=="sliceUpDownLeft")h=a(".rm-slice",b)._reverse();h.each(function(){var i=a(this);if(m==0){i.css("top","0px");m++}else{i.css("bottom",
"0px");m=0}x==c.slices-1?setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed,"",function(){b.trigger("rm:animFinished")})},100+n):setTimeout(function(){i.animate({height:"100%",opacity:"1.0"},c.animSpeed)},100+n);n+=50;x++})}else if(c.effect=="fold"||d.randAnim=="fold"){m=n=0;w(b,c);a(".rm-slice",b).each(function(){var i=a(this),y=i.width();i.css({top:"0px",height:"100%",width:"0px"});m==c.slices-1?setTimeout(function(){i.animate({width:y,opacity:"1.0"},c.animSpeed,"",function(){b.trigger("rm:animFinished")})},
100+n):setTimeout(function(){i.animate({width:y,opacity:"1.0"},c.animSpeed)},100+n);n+=50;m++})}else if(c.effect=="fade"||d.randAnim=="fade"){var q=a(".rm-slice:first",b);q.css({height:"100%",width:b.width()+"px"});q.animate({opacity:"1.0"},c.animSpeed*2,"",function(){b.trigger("rm:animFinished")})}else if(c.effect=="slideInRight"||d.randAnim=="slideInRight"){q=a(".rm-slice:first",b);q.css({height:"100%",width:"0px",opacity:"1"});q.animate({width:b.width()+"px"},c.animSpeed*2,"",function(){b.trigger("rm:animFinished")})}else if(c.effect==
"slideInLeft"||d.randAnim=="slideInLeft"){q=a(".rm-slice:first",b);q.css({height:"100%",width:"0px",opacity:"1",left:"",right:"0px"});q.animate({width:b.width()+"px"},c.animSpeed*2,"",function(){q.css({left:"0px",right:""});b.trigger("rm:animFinished")})}},z=function(b){this.console&&typeof console.log!="undefined"&&console.log(b)};this.stop=function(){if(!a(s).data("rm:vars").stop){a(s).data("rm:vars").stop=true;z("Stop Slider")}};this.start=function(){if(a(s).data("rm:vars").stop){a(s).data("rm:vars").stop=
false;z("Start Slider")}};f.afterLoad.call(this)};a.fn.rmSlider=function(s){return this.each(function(){var v=a(this);if(!v.data("rmslider")){var f=new A(this,s);v.data("rmslider",f)}})};a.fn.rmSlider.defaults={effect:"random",slices:15,animSpeed:500,pauseTime:3E3,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,controlNavThumbs:false,controlNavThumbsFromRel:false,controlNavThumbsSearch:".jpg",controlNavThumbsReplace:"_thumb.jpg",keyboardNav:true,pauseOnHover:true,manualAdvance:false,
captionOpacity:0.8,beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};a.fn._reverse=[].reverse})(jQuery);




/*!
 * jQuery UI 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.11",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,
NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,
"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");
if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,
"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,
d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});
c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&
b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
;/*
 * jQuery UI Datepicker 1.8.11
 *
 * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *  jquery.ui.core.js
 */
(function(d,A){function K(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}function F(a,b){d.extend(a,b);for(var c in b)if(b[c]==
null||b[c]==A)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.11"}});var y=(new Date).getTime();d.extend(K.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){F(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();
f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}},
_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&
b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==
""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,
c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),
true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}F(a.settings,e||{});
b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);
this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",
this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,
function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:
f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},
e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");F(e.settings,f);if(i!==null&&f.dateFormat!==A&&f.minDate===A)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==A&&f.maxDate===A)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},
_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),
"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?
-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,
+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==A?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);
if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);
d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");F(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=
document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");
var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=
b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var e=a.dpDiv.find("iframe.ui-datepicker-cover");e.length&&e.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");
this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+
this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&
a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var f=a.yearshtml;setTimeout(function(){f===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);f=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():
0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),
"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?
"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=
d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=
d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c==
"M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=
b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();
this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);
a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?
c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){var v=o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&v?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,v,H){p=o(p)?H:v;for(v=0;v<p.length;v++)if(b.substr(s,p[v].length).toLowerCase()==p[v].toLowerCase()){s+=p[v].length;return v+1}throw"Unknown name at position "+
s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(k)if(a.charAt(z)=="'"&&!o("'"))k=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var w=new Date(m("@"));c=w.getFullYear();j=w.getMonth()+1;l=w.getDate();break;case "!":w=new Date((m("!")-this._ticksTo1970)/1E4);c=w.getFullYear();j=w.getMonth()+
1;l=w.getDate();break;case "'":if(o("'"))r();else k=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}w=this._daylightSavingAdjust(new Date(c,j-1,l));if(w.getFullYear()!=c||w.getMonth()+1!=j||w.getDate()!=l)throw"Invalid date";return w},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",
RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&
a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",
b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+=
"0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==A?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=
f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=
(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,
l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=
a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),
b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=
this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+
(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+
(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+y+'.datepicker._hideDatepicker();">'+this._get(a,
"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=
this._get(a,"monthNames"),w=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),v=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var L=this._getDefaultDate(a),I="",D=0;D<i[0];D++){for(var M="",E=0;E<i[1];E++){var N=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+='<div class="ui-datepicker-group';if(i[1]>1)switch(E){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-
1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&D==0?c?f:n:"")+(/all|right/.test(t)&&D==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,D>0||E>0,z,w)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var B=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=
(t+h)%7;B+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}x+=B+"</tr></thead><tbody>";B=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,B);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;B=l?6:Math.ceil((t+B)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O<B;O++){x+="<tr>";var P=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var G=
p?p.apply(a.input?a.input[0]:null,[q]):[true,""],C=q.getMonth()!=g,J=C&&!H||!G[0]||k&&q<k||o&&q>o;P+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(C?" ui-datepicker-other-month":"")+(q.getTime()==N.getTime()&&g==a.selectedMonth&&a._keyEvent||L.getTime()==q.getTime()&&L.getTime()==N.getTime()?" "+this._dayOverClass:"")+(J?" "+this._unselectableClass+" ui-state-disabled":"")+(C&&!v?"":" "+G[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":
""))+'"'+((!C||v)&&G[2]?' title="'+G[2]+'"':"")+(J?"":' onclick="DP_jQuery_'+y+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(C&&!v?"&#xa0;":J?'<span class="ui-state-default">'+q.getDate()+"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(C?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=
P+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&E==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");M+=x}I+=M}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',
o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&
l)?"&#xa0;":""));a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+
a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";if(d.browser.mozilla)k+='<select class="ui-datepicker-year"><option value="'+c+'" selected="selected">'+c+"</option></select>";else{k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=
a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,
"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,
[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new K;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.11";window["DP_jQuery_"+y]=d})(jQuery);
;
