
	$.widget('ui.ajaxsearch', {
		_create: function() {
			var obj = this;
			var destination = '.destination select';
			var nationality = '.nationality select';
			var vtype = '.typeof_visa select';
			var autoload = $('.destination #destination-autoload').html();
			
			$(destination).change(function(){
				// $(this).find('option:first').remove();
				$(nationality).html('<option value="0">Loading Nationality</option>');
				$(vtype).html('<option value="0">Select Type</option>');
				obj.nationalityRequest($(this).val(), nationality);
			});
			
			$(nationality).change(function(){
				$(vtype).html('<option value="0">Loading Types</option>');
				obj.vtypeRequest($(this).val(), $(destination).val(), vtype);
			});
			
			if( autoload.length <= 0 ) {
				$.ajax({
					type: 'POST',
					url: '/ajax/destinations',
					data: $.param({ request: 'desctination' }),
					success: function(data) {
						var option = $(destination).find('option');
						var json = $.parseJSON(data);
						
						for( var i in json ) {
							option.clone().appendTo($(destination)).val(json[i]['id']).html(json[i]['name']);
						}
						if( autoload.length > 0 ) {
							$(destination).find('option[value=' + autoload + ']').attr('selected', 'selected');
							$(destination).find('option:first').remove();
							$(destination).trigger('change');
						} else {
							$(destination).find('option:first').val('0').html('Select Destination');
						}
						
						
					}
				});
			} else {
				$(destination).change();
			}
		},
		
		nationalityRequest: function(destination, nationality){
			var autoload = $('.nationality #nationality-autoload').html();
		
			$.ajax({
				type: 'POST',
				url: '/ajax/nationalities',
				data: $.param({ request: 'nationality', destination: destination }),
				success: function(data) {
					var option = $(nationality).find('option');
					var json = $.parseJSON(data);
					
					var popular = [ "United Kingdom" ];
					// var popular = [];
					
					if( popular.length > 0 ) {
						// $(nationality).append('<optgroup label="Popular Nationalities"></optgroup>');
						$(nationality).append('<optgroup label="----------------------------"></optgroup>');
						// $(nationality).append('<optgroup label="Alphabetical Nationalities">');
						$(nationality).append('<optgroup label="----------------------------">');
					}
					
					for( var i in json ) {						
						if( !jQuery.inArray( json[i]['name'], popular ) ) {
							option.clone().appendTo($(nationality).find('optgroup:first')).val(json[i]['id']).html(json[i]['name']);
							option.clone().appendTo($(nationality)).val(json[i]['id']).html(json[i]['name']);
						} else {
							option.clone().appendTo($(nationality)).val(json[i]['id']).html(json[i]['name']);
						}
					}
					
					if( popular.length > 0 ) {
						$(nationality).append('</optgroup>');
					}
					
					if( autoload.length > 0 ) {
						// $(nationality).find('option[value=' + autoload + ']').attr('selected', 'selected').trigger('change');
					}
					
					$(nationality).find('option:first').html('Select Nationality');
					// $(nationality).trigger('change');
				}
			});
		},
		
		vtypeRequest: function(nationality, destination, vtype){
			$.ajax({
				type: 'POST',
				url: '/ajax/types',
				data: $.param({ request: 'type', nationality: nationality, destination: destination }),
				success: function(data) {
					var option = $(vtype).find('option');
					var json = $.parseJSON(data);

					if( json.length > 0 ) {
						
						for( var i in json ) {
							option.clone().appendTo($(vtype)).val(json[i]['id']).html(json[i]['name']);
						}
					} else {
						option.clone().appendTo($(vtype)).val(0).html('No Visas Available');
					}
					
					$(vtype).find('option:first').html('Select Type');
					// $(vtype).find('option:first').remove();
				}
			});
		}
		
	});
	
	$.widget('ui.test', {
		_create: function() {
			var obj = this;
			var data = $('#visa-pages').html();
			
			//var json = $.parseJSON(data);
			var visas = $('.visa-type').length;
			var pages = Math.ceil(visas/3);
			var showpages = 11;
			
			var currentpage = 1;
			var midrange = showpages/2;
			
			for( var i = 1; i <= pages; i++ ) {
				$('.page-num.clonable').clone().appendTo($('.pagination-overflow')).removeClass('clonable').find('a').html(i).attr('title', i).attr('href', '#page-'+i);
				
				if( i > showpages ) {
					$('.page-num:last').hide();
				}
			}
			
			$('.pagination-link').live( 'click', function() {
				if( !$('.pagination').hasClass('active') ) {
					$('.pagination').addClass('active');
				
					var oldpage = currentpage;
					currentpage = $(this).html();
					
					var first = ((currentpage-1)*3)+1;
					var second = first+1;
					var third = first+2;
					
					if( currentpage != oldpage ) {
						$('.visa-type:visible').stop(true, true).fadeOut('fast', function() {
							$('#visa-type-' + first).stop(true, true).fadeIn('fast');
							$('#visa-type-' + second).stop(true, true).fadeIn('fast');
							$('#visa-type-' + third).stop(true, true).fadeIn('fast');
						});
					}
					
					//$('.pagination').find('.page-num').filter(':hidden:first').show();
					var firstvisible = $('.pagination').find('.page-num').filter(':visible:first').find('a').html();
					var lastvisible = $('.pagination').find('.page-num').filter(':visible:last').find('a').html();

					midrange = Math.floor((parseInt(firstvisible)+parseInt(lastvisible))/2)+1;
									
					if( currentpage > midrange ) {
						$('.page-num:eq(' + firstvisible + ')').hide();
						$('.page-num:eq(' + (parseInt(lastvisible)+1) + ')').show();
					}
									
					if( currentpage < midrange ) {
						if( currentpage != 1 && (midrange > ((showpages/2)+2)) ) {
							$('.page-num:eq(' + lastvisible + ')').hide();
							$('.page-num:eq(' + (parseInt(firstvisible)-1) + ')').show();
						}
					}
					
					$('.pagination').removeClass('active');
				}
			});
			
			
		}
		
	});
	
$().ready(function() {

	CKEDITOR.config.toolbar_Full =
	[
		['Image'],
		['Bold','Italic','Underline','Strike'],
		['NumberedList','BulletedList'],
		['Link','Unlink'],
		['Format'],
		['TextColor','BGColor']
	];
	
	CKEDITOR.config.enterMode = CKEDITOR.ENTER_BR;
	
	$(document).find('.wysiwyg-editor').each(function(){
		CKEDITOR.replace( $(this)[0] );
	});
	

	$('.visaSearchsec').ajaxsearch();
	// $('.pagination').test();
	
	//var doc = document.location.toString();
	//if (doc.match('#')) {
		// var anchor = doc.split('#')[1].split('page-')[1];
		
		// for( var i = 1; i <= anchor; i++ ) {
			// $('.page-num:eq(' + i + ') .pagination-link').click();
			//$('.page-num-' + anchor ).click();
		// }
		
		// $('.page-num:eq(50) .pagination-link').click();
		
	// }
	
	$('.goBtn').live('click', function() {
		$('.destination').find('select').attr('disabled', false);
	});
	
	$("form").validationEngine('attach');

	$('.letter').live('click', function() {		
		$('html,body').animate({scrollTop: $("#letter-"+$(this).find('a').html()).offset().top}, 500);
	});
	
	$('form').find('input').each(function(){
		if( $(this).attr('title').length > 0 ) {
			$(this).val($(this).attr('title'));
		}
	});
	
	$('form').find('input').focus(function(){
		if($(this).attr('title') == $(this).val()){
			$(this).val('');
		}
	}).blur(function(){
		if($(this).val().length < 1){
			$(this).val($(this).attr('title'));
		}
	});
	
	$('form input[type=submit]').click( function() {
		$(this).closest('form').find('input').each( function() {
			if($(this).attr('title') == $(this).val()){
				$(this).val('');
			}
		});
		
		$(this).closest('form').submit();
		
		$(this).closest('form').find('input').each( function() {
			$(this).focus();
			$(this).blur();
		});
		
		return false;
		
		// alert('test');
	});
	
	$('#add-email').click(function() {
		$('#email-field').clone().val('').appendTo('#email-fields');
		$('#email-fields').find('input:last').blur();
	});
	
	$('.email-send').closest('form').bind("jqv.form.result", function(event, errorFound) {
       if(!errorFound) {
			$('.email-send').hide();
			$('#email-processing').show();
		}
    });
});
