$(document).ready(function(){
	function emptyObject(obj) {
	    for (var i in obj) {
	        return false;
	    }
	    return true;
	}
	// set select of country for US users
	function chselect(country){
		$("#country").val(country);
		if (country == "US"){
			$("#state_tr").fadeIn();
		}else{
			$("#state option:first").attr("selected","yes");
			$("#state_tr").fadeOut();			
		}
	}
	
	$("#country").change(function(){
		chselect($(this).val());
	});
	// set cookies oject
	var elobj = {
		name: $("#join-partner input[name=name]"),
		company: $("#join-partner input[name=company]"),
		title: $("#join-partner input[name=title]"),
		email: $("#join-partner input[name=email]"),
		website: $("#join-partner input[name=website]"),
		phone: $("#join-partner input[name=phone]"),
		where: $("#join-partner textarea[name=where]"),
		comments: $("#join-partner textarea[name=comments]"),
		address: $("#join-partner input[name=address]"),
		city: $("#join-partner input[name=city]"),
		state: $("#state"),
		zip: $("#join-partner input[name=zip]"),
		country: $("#country")
	};
	// set cookies
	var coockobj = {};
	for(var key in elobj)
		if($.cookie(key)){
			coockobj[key] = $.cookie(key);
			elobj[key].val($.cookie(key));
		}
		if ($.cookie(key) == "US"){
			var stcook = $.cookie("state");
			$("#state").val(stcook);
			chselect($.cookie(key));
		}
	// get user ip
	if(emptyObject(coockobj)){
		$.ajax({
			type: "GET",
			url: "getip.php",
			success: function(data){
				chselect(data);
			}
		});
	}
	/**
	 * form validation
	 */
	$("#join-partner").validate({
		rules: {
			name: "required",
			company: "required",
			title: "required",
			email: {
				required: true,
				email: true
			},
			website: "required",
			state:{
				required:function(el){
					var elval = $("#country option:selected").val() == "US";
					return elval;
				}
			},
			phone: {
				required: true,
				phoneUS: true
			},
			where: "required",
			address: "required",
			city: "required",
			zip: {
				required:true,
				digits: true
			}
		},
		onfocusout: false,
		onkeyup: false
	});
	// form steps
	$("#next").click(function(){
		var sname = $("#join-partner").validate().element("#name");
		var scompany = $("#join-partner").validate().element("#company");
		var stitle = $("#join-partner").validate().element("#title");
		var semail = $("#join-partner").validate().element("#email");
		var swebsite = $("#join-partner").validate().element("#website");
		var sphone = $("#join-partner").validate().element("#phone");
		var swhere = $("#join-partner").validate().element("#where");

		if($("#developer").is(":checked") || $("#solution").is(":checked")){
				$("#perror").hide();
			}else{
				$("#perror").show();
		}
		
		if (sname && scompany && stitle && semail && swebsite && sphone && swhere && ($("#perror").css("display") == "none")) {
			$("#reg_step1").hide();
			$("#reg_step2").fadeIn();
			pageTracker._trackPageview("/partner/step_2");
		}
	});
	$("#back").click(function(){
		$("#reg_step2").hide();
		$("#reg_step1").fadeIn();
	});
	$("input[type=checkbox]").click( function() {
		if ($("input[name=solution]").is(":checked") || $("input[name=developer]").is(":checked")) {
			$("input[name=cboxval]").attr("value", "pass");
		}
		else {
			$("input[name=cboxval]").attr("value", "");
		}
	});
	
	$("#join-partner").submit( function() {
		if ($("#join-partner").validate().form() == true) {
			var parelval = {
				name: $("#join-partner input[name=name]"),
				company: $("#join-partner input[name=company]"),
				title: $("#join-partner input[name=title]"),
				email: $("#join-partner input[name=email]"),
				website: $("#join-partner input[name=website]"),
				phone: $("#join-partner input[name=phone]"),
				where: $("#join-partner textarea[name=where]"),
				comments: $("#join-partner textarea[name=comments]"),
				address: $("#join-partner input[name=address]"),
				city: $("#join-partner input[name=city]"),
				state: $("#state option:selected"),
				zip: $("#join-partner input[name=zip]"),
				country: $("#country option:selected")
			};
			
			// create cookies
			for(var key in parelval){
				$.cookie(key,parelval[key].val(),{expires: 0, path: '/', domain: 'nimble.com'});
			};
			// check psolution and pdeveloper and subscribe
			if ($("input[name=solution]").is(":checked")) {
				var solution = $("input[name=solution]").val();
			}else { 
				var solution = 'no';
			}

			if ($("input[name=developer]").is(":checked")) {
				var developer = $("input[name=developer]").val();
			}else { 
				var developer = 'no';
			}
			
			if ($("input[name=subscribe]").is(":checked")) {
				var subscribe = $("input[name=subscribe]").val();
			}else { 
				var subscribe = 'no';
			}
			// send recive ajax data
			$.ajax({
				type: "GET",
				url: "partner.php",
				data: "name="+parelval.name.val()+"&company="+parelval.company.val()+"&title="+parelval.title.val()+"&email="+parelval.email.val()+"&website="+parelval.website.val()+"&phone="+parelval.phone.val()+"&where="+parelval.where.val()+"&comments="+parelval.comments.val()+"&address="+parelval.address.val()+"&city="+parelval.city.val()+"&state="+parelval.state.text()+"&zip="+parelval.zip.val()+"&country="+parelval.country.text()+"&solution="+solution+"&developer="+developer+"&subscribe="+subscribe,
				success:function(){
					pageTracker._trackPageview("/partner/submitted");
					$("#join-partner").fadeOut("normal", function() {
						$("#form-success").html("<div class='padding'><p style='padding-bottom: 10px;'><strong>"+parelval.name.val()+",</strong></p><p>Thank you for your interest in becoming a Nimble Partner!  Your application has been submitted and is currently being reviewed.</p></div>").hide().fadeIn("normal");
					}); 
				}
			});
		}else {
			return false;
		}
	});
});