(function($){
	$.fn.wk_popup  = function(settings) {
		var url = '/wk_popup.php'; //default
		if ($(this).attr('type')){
			url = $(this).attr('type');
		}
		var files = ['/f/d/ketchup.pdf','/f/d/shoes.pdf','/f/d/appliances.pdf'];
		var file;
		
		function create_popup(){
			var $html = $('html');
			var $body = $('body');
			var $document = $(document);
			var $window = $(window);
			
			
			function popup_show(){
				$popup_wrap.show();
			};
			function popup_hide(){
				$popup_wrap.hide();
			};
			function popup_arrange(){
				if (popup_pos == 'fixed') {
					$popup.css({'top': (($window.height() - $popup.innerHeight()) / 2)});
				} else {
					$popup.css({'top': ($html[0].scrollTop + ($window.height() - $popup.innerHeight()) / 2)});
				}
			};
			var $popup_wrap = $('.wk_popup_wrap');
			var $popup_shade = $('.wk_popup_shade');
			var $popup = $('.wk_popup');
			var $popup_close = $('.wk_popup_close');
			var $popup_submit = $('.wk_popup_submit');
			var $triggers = $('.wk_popup_trigger');
			var popup_pos = $popup.css('position');
			//IE6 doesn't support position:fixed. So _position:absolute is used in CSS.
				
			
			
			// open
			$triggers.live('click',function(e){
				popup_show();
				popup_arrange();
				var file_number = $(this).attr('rel');
				file = files[file_number];
        $popup.find('#curFile').val(file);
				e.preventDefault();
			})
			
			// close
			$popup_shade.click(function(){
				popup_hide();
			});
			$html.keyup(function(e){
				if(e.keyCode == 27 || e.charCode == 27 || e.which == 27){
					popup_hide();
				};
			});
			$popup_close.click(function(){
				popup_hide();
			});
			$popup_submit.click(function(e){
				var test_form = $(this).parents('form').check_form();
				var $our_form = $(this).parents('form');
				if (test_form){
					$our_form.submit();
					try {
						_gaq.push (['_trackPageview',file]);
					} catch (error) {
						//console.log(error);
					}
					popup_hide();
				}
				e.preventDefault();
			});
			
			// arranging
			$window.resize(function(){
				popup_arrange();
			})
			.scroll(function(){
				popup_arrange();
			});
		}
		
		
		$.post(url, function(data){
			$('body').append(data);
			create_popup();
		});
		
		
	}
	$.fn.check_form = function(){
		var error = false;
		var email = new RegExp("[0-9a-z_.-]+@[0-9a-z_^.]+\\.[a-z]{2,4}", 'i');
		var $form = $(this);
		
		$form.find('.req').each(function(){
			if((this.value.length < 3) || ($(this).hasClass('phone') && this.value.length < 7) || ($(this).hasClass('email') && !email.test(this.value))){
				error = true;
				$(this).parents('p').addClass('error');
			} else {
				$(this).parents('p').removeClass('error');
			}
		});
		return !error;
	}

	
	$(document).ready(function(){
		$('.wk_popup_trigger').wk_popup();
		
		$('.form_standard select').sSelect();
	});
	
		
	
	
})(jQuery);
