/* ..................... */
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}();

$(document).ready(function(){
	
		
		
		if (jQuery.url.segment(2)=='merchant'){
		$(".accordion").accordion({ header: "h3",active: 1,autoHeight: false,collapsible: true });
		} 
		else if (jQuery.url.segment(2)=='category'){
		$(".accordion").accordion({ header: "h3",active: 0,autoHeight: false,collapsible: true });
		}
		else
		{
		$(".accordion").accordion({ header: "h3",active: 0,autoHeight: false,collapsible: true });
		}
		$('#tabs').tabs();
		if (jQuery.url.segment(4)=='auctions'){
		$('#tabs').tabs('option', 'selected', 1);
		} 
		if (jQuery.url.segment(4)=='fixed-prices'){
		$('#tabs').tabs('option', 'selected', 2);
		}
		


		$('#dialog').dialog({
			autoOpen: false,
			modal: true,
			width: 445,
			height: 217,
			zIndex: 39999,
			resizable: false,
			draggable: true,
			buttons: { Login: function() { 
				$("#login_form").submit();
			}
			}
		});
		
		if ($("#return").length > 0)
		{
			returnurl = "http://www.barslist.com/sell/confirmed/"+$("#cost").val();
			//change to http://www.barslist.com
			$("#return").val(returnurl);
			// change to #return
				
			$("#cost").keyup(function()
			{
				returnurl = "http://www.barslist.com/sell/confirmed/"+$("#cost").val();
				//change to http://www.barslist.com
				$("#return").val(returnurl);
				//change back to #return after testing!!!
			})
		}

		if ( $("#table").length > 0 ) {
		$("#table").tablesorter({
			widgets: ['zebra'],
			sortList: [[0,0]]
			}); 
			$("#tableedit").tablesorter({
				widgets: ['zebra'],
				sortList: [[1,0]],
				headers: {
					0: { 
						sorter: false
						}
				}
				});
		}
		
		if ( $(".table1").length > 0 ) {
				$(".table1").tablesorter({
					widgets: ['zebra'],
					sortList: [[1,0]],
					headers: {
						0: { 
							sorter: false
							}
					}
					});
		}
		

		
		if ( $(".table2").length > 0 ) {

				$(".table2").tablesorter(
				{widgets: ['zebra'],sortList: [[1,0]],headers: {
							0: {sorter: false},1: { sorter: false}
							}
							
						});
						
								
		}
	
		$('#login_link').click(function(){
			$('#dialog').show();
			$('#dialog').dialog('open');
			return false;
		});
		//also
		$('.login_link').click(function(){
			$('#dialog').show();
			$('#dialog').dialog('open');
			return false;
		});
		
	$("#login_form").validate({
		rules: {
			user_name: "required",
			password: "required"
		},
		messages: {
			user_name: "Please enter your username",
			password: "Please enter your password"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       }
	});
	

		$("#change_password_form").validate({
		rules: {
			user_name: "required",
			old_password: "required",
			password: "required",
			password_confirm: "required"
		},
		messages: {
			user_name: "Please enter your username",
			old_password: "Please enter your old password",
			password: "Please enter your new password",
			password_confirm: "Please confirm your new password"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	
		$("#forgotten_password_form").validate({
		rules: {
			email: "required"
		},
		messages: {
			email: "Please enter your email address"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	
	$("#cash_1").validate({
		rules: {
			balance: {
			required: true,
			min: 25
			},
			merchant: {
			required: true
			}
		},
		messages: {
			balance: "Please enter a balance greater than $25",
			merchant: "Please select a merchant"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	$("#messageform").validate({
		rules: {
			subject: {
			required: true,
			minlength: 3
			},
			message: {
			required: true,
			maxlength: 240
			}
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
		$("#loginForm").validate({
		rules: {
			user_name: {
			required: true
			},
			password: {
			required: true
			}
		},
		messages: {
			user_name: "Please enter your username",
			password: "Please enter your password"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	$("#priceform").validate({
		rules: {
			cost: {
			required: true,
			number: true
			}
			
		},
		messages: {
			cost: "Please enter a valid price"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	$("#contact").validate({
		rules: {
			name: {
			required: true
			},
			email: {
			required: true,
			email:true
			},
			message_content: {
			required:true
			}
			
		},
		messages: {
			name: "Please enter your name",
			email: "Please enter a valid email address",
			message_content: "Please enter your message"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	$("#register_form").validate({
		rules: {
			user_name: {
			required: true,
			minlength: 4,
			maxlength: 15
			},
			password: {
			required: true,
			minlength: 6
			},
			password_confirm: {
			required: true,
			equalTo: "#password"
			},
			email: {
			required: true,
			email: true
			},
			terms: {
			required:true,
			checkbox:true
			}
		},
		messages: {
			user_name: "Please enter your username",
			password: "Please enter your password",
			password_confirm: "Password does not match",
			email: "Please enter your email address",
			terms: "You must agree to the Terms of Use to register"
		},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
	});
	
	function validateCash(payment)
	{


		
		$("#cash_2").validate({
			rules: {
				card_number: {
				required: true
				},
				email: {
				required: true,
				email:true
				},
				guest_email: {
				required: true,
				email:true
				},
				paypal: {
				required: true,
				email:true
				},
				guest_paypal: {
				required: true,
				email:true
				},
				firstname: {
				required: true
				},
				guest_firstname: {
				required: true
				},
				lastname: {
				required: true
				},
				guest_lastname: {
				required: true
				},
				address1: {
				required: true
				},
				guest_address1: {
				required: true
				},
				city: {
				required: true
				},
				guest_city: {
				required: true
				},
				state: {
				required: true
				},
				guest_state: {
				required: true
				},
				zip: {
				required: true,
				minlength: 5
				},
				guest_zip: {
				required: true,
				minlength: 5
				}
			},
			messages: {
				card_number: "Please enter the gift card number",
				email: "Please enter a valid email address",
				paypal: "Please enter a valid paypal email address",
				firstname: "Please enter your first name",
				lastname: "Please enter your last name",
				address1: "Please enter your address",
				city: "Please enter your city",
				state: "Please enter your state",
				state2: "Please enter your state",
				zip: "Please enter your zip code",
				guest_email: "Please enter a valid email address",
				guest_paypal: "Please enter a valid paypal email address",
				guest_firstname: "Please enter your first name",
				guest_lastname: "Please enter your last name",
				guest_address1: "Please enter your address",
				guest_city: "Please enter your city",
				guest_state: "Please enter your state",
				guest_zip: "Please enter your zip code"
			},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
		});
	}
	

	
	$('#search').focus(function(){
		$('#search').val('');
	});
	$('#searchtwo').focus(function(){
		$('#searchtwo').val('');
	});
	$('#cost').focus(function(){
		$('#cost').val('');
	});
	$('#homecash').click(function(){
		window.location.href = "/cash/";
	});
	$('#homebuy').click(function(){
		window.location.href = "/buy/";
	});
	$('#homefixed').click(function(){
		window.location.href = "/sell/";
	});
	$('#homespecial').click(function(){
		window.location.href = "/specials/";
	});
	$('#homeauction').click(function(){
		window.location.href = "/sell/index/";
	});
	$('#homedonate').click(function(){
		window.location.href = "/donate/";
	});
	
	if (jQuery.url.segment(1)=='accept'){
	if($("#payment")){
	getPaymentVals();
	validateCash($('select#payment option:selected').val());
	}
	
	$('select#payment').change(function()
	{
	getPaymentVals();
	validateCash($('select#payment option:selected').val());

	});
	
	
	showcheck = $(".showcheck").val();
	showpaypal = $(".showpaypal").val();
	
	function getPaymentVals()
	{
		
		if ($('select#payment option:selected').val() == 'paypal')
		{
			$(".showpaypal").clone().prependTo("#optioninfo").css("display","block").addClass("paypalselected");
			$(".checkselected").remove();
			
		}
		if ($('select#payment option:selected').val() == 'check')
		{
			$(".showcheck").clone().prependTo("#optioninfo").css("display","block").addClass("checkselected");
			$(".paypalselected").remove();
		}
	}
	}
	
	$('#donation').click(
	function showCharity()
	{
		if ($('#donation').val() == "n")
		{
			$(".donationselected").remove();
			$('#donation').val("y");	
		} 
		else if ($('#donation').val() == "y")
		{
			$(".showcharity").clone().prependTo("#optioninfo").css("display","block").addClass("donationselected");
			$('#donation').val("n");
		}
	});
	
	

	
	
	
	// UI
	$(".button").hover(
  function () {
    $(this).addClass("ui-state-hover");
    $(this).removeClass("ui-state-default");
  },
  function () {
    $(this).addClass("ui-state-default");
    $(this).removeClass("ui-state-hover");
  }
);

$(".sort ul li a").hover(
  function () {
    $(this).addClass("ui-state-hover");
    $(this).removeClass("ui-state-default");
  },
  function () {
    $(this).addClass("ui-state-default");
    $(this).removeClass("ui-state-hover");
  }
);
		if (jQuery.url.segment(1)=='index'){
		$(".showdate").clone().prependTo("#optiondate").css("display","block").addClass("auctionselected");
        	$(".auctionselected input:last-child").datepicker({  minDate: new Date(),   altField: "#closingstamp",     altFormat: "@"});
        
        $("#fixed").addClass("ui-state-default");
      	$("#fixed").attr("name","");
      	$("#fixed").addClass("ui-state-default");
        $("#fixed").removeClass("ui-state-active");
        $("#auction").addClass("ui-state-active");
        $("#auction").attr("name", $(".ui-state-active").attr("title"));
		}
		
$(".button").click(
		function() {
        if ($(this).val() == "Auction" && $(this).attr("name") != "sale_status")
        {
        	$(".showdate").clone().prependTo("#optiondate").css("display","block").addClass("auctionselected");
        	$(".auctionselected input:last-child").datepicker({  minDate: new Date(),   altField: "#closingstamp",     altFormat: "@"});
        	
        }
        else
        {
        	$(".auctionselected").remove();
        }
});

$(".button").click(
      function () {
      	$(".ui-state-active").addClass("ui-state-default");
      	$(".ui-state-active").attr("name","");
      	$(".ui-state-active").addClass("ui-state-default");
        $(".ui-state-active").removeClass("ui-state-active");
        $(this).addClass("ui-state-active");
        $(this).attr("name", $(".ui-state-active").attr("title"));
        

      }
      
);

$("#value").blur(function addpromo(){

	if ($("#value").val() >= 200 && $(".upgradeselected").length < 1)
	{
		$(".showupgrade").clone().prependTo(".optioninfo").css("display","block").addClass("upgradeselected");
	}
	if ($("#value").val() < 200)
	{
		$(".upgradeselected").remove();
	}
});

$("#promo").blur(function promocode(){
if ($("#promo").val() != '' || $("#promo").val() != $("#p1").val() || $("#promo").val() != 'TSILB1') {
$("#promo").prev().children('span:first').html("Incorrect promo code").css("color","#cd0a0a");
}
if ($("#promo").val() == '' || $("#promo").val() == $("#p1").val() || $("#promo").val() == 'TSILB1') {
$("#promo").prev().children('span:first').html("enter your promo code here").css("color","#666666");
}
});


$("#sellform").validate({
			rules: {

				merchant: {
				required: true
				},
				closing: {
				required: true,
				date: true
				},
				condition: {
				required: true
				},
				title: {
				required: true
				},
				value: {
				required: true,
				number: true
				},
				charity_name: {
				required: true
				},
				charity_address: {
				required: true
				},
				guest_paypal: {
				required: true,
				email:true
				}
			},
			messages: {
				merchant: "Please select a merchant",
				closing: "Please select a auction end date",
				condition: "Please select the condition of your card",
				title: "Please enter a title for your card",
				value: "Please enter the value of your card",
				charity_name: "Please enter the name of the charity",
				charity_address: "Please enter your address to receive receipt",
				guest_paypal: "Please enter a valid paypal email address"
			},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
});

$("#charityform").validate({
			rules: {

				merchant: {
				required: true
				},
				closing: {
				required: true,
				date: true
				},
				condition: {
				required: true
				},
				title: {
				required: true
				},
				value: {
				required: true,
				number: true
				},
				charity_name: {
				required: true
				},
				charity_address: {
				required: true
				},
				guest_paypal: {
				required: true,
				email:true
				},
				email: {
				required:true,
				email:true
				},
				name: {
				required:true
				}
			},
			messages: {
				merchant: "Please select a merchant",
				closing: "Please select a auction end date",
				condition: "Please select the condition of your card",
				title: "Please enter a title for your card",
				value: "Please enter the value of your card",
				charity_name: "Please enter the name of the charity",
				charity_address: "Please enter your address to receive receipt",
				guest_paypal: "Please enter a valid paypal email address",
				email: "Please enter a valid email address",
				name: "Please enter your full name"
			},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
});

$("#profileform").validate({
			rules: {

				paypal: {
				required: true,
				email: true
				}
			},
			messages: {
				paypal: "Please enter a valid PayPal email address"
			},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
});


minimum = parseFloat($("#minimum").val());
$("#bidform").validate({
			
			
			rules: {

				bid: {
				required: true,
				number: true,
				min: minimum
				},
				paypal: {
				required: true,
				email: true
				}
			},
			messages: {
				bid: "Please enter a valid bid for this card",
				paypal: "Please enter a valid PayPal email address"
			},
			errorPlacement: function(error, element) { 
           $(element).prev().children('span:first').html(error);

       } 
});
$('#bid').focus(function(){
		$('#bid').val('');
	});

$(".noscript").css('margin-left', 'auto');

$('.dollar').keypress(function(){

re = /^\$|,/g;
str = $('.dollar').val();
$('.dollar').val(str.replace(re, ""));
});

$(".cardimage").error(function () {
  $(this).unbind("error").attr("src", "/giftcard_images/no-image.jpg");
});

$("form :checkbox").css({'width' : '20px', 'border' : 'none'});
	
});