﻿//molp edit
var $xform = {
	showLoader:function(pEl){ if(pEl && pEl.length>0) pEl.addClass('masterform-booking-loader'); },
	hideLoader:function(pEl){ if(pEl && pEl.length>0) pEl.removeClass('masterform-booking-loader'); },
	validator : null,
	send : function(){
		var _this=this;
		var f=$("form");
		if(!this.validator)
			this.validator=f.validate();
		var bContainer=$('form p.btnpop');
		this.showLoader(bContainer);
		if(this.validator.form())
		{
			f.ajaxSubmit({
				success : function(res){
					var obj = eval('(' + res + ')'); 
					if(obj.success)
					{
						$("#boxpopupfull").fadeOut(500,function(){
							$("form",this)[0].reset();
						});
					}
					else
					{
						alert(res);
					}
					_this.hideLoader(bContainer);
				},
				error : function(xml, text, error){
					alert(text+'\n'+error);
					_this.hideLoader(bContainer);
				}
			});
		}else{
			_this.hideLoader(bContainer);
			this.validator.focusInvalid();
		}
	},
	
	init:function(){
		if($("form").length<=0) return false;
		var msgRequired = "<span> *</span>";
		this.validator=$("form").validate({
			rules : {
				Firstname : "required",
				Lastname : "required",
				Telephone : {
					required: true,
					number: true,
					minlength: 10,
					maxlength: 10
				},
				Email: {
					required: true,
					email: true
				},
				Address : "required",
				CitizenNo : "required",
				SaleForm : "required"
			},
			messages: {
				Firstname:msgRequired,
				Lastname:msgRequired,
				Telephone:msgRequired,
				Email:msgRequired,
				Address:msgRequired,
				CitizenNo:msgRequired,
				SaleForm:msgRequired
			}
		});
		
		this.validator.form();
		$("#frm-submit").click(function(){
			$xform.send();
			return false;
		});
		$("#frm-clear").click(function(){
			$("form")[0].reset();
		});
	}
};
//molp edit

var masterplan={
	timer:null,
	initNavs:function(){
		var _this=this;
		var masterNav=$('#masternav');
		
		// skip if no element
		if(masterNav.length<=0) return false;
		
		// begin gallery button behevior
		var galContainer=$('#gallerythumb', masterNav);
		var first=true;
		$('li.m1 > strong > a', masterNav).mousedown(function(){
			if(!first){
				if(galContainer.is(':visible'))
					galContainer.hide();
				else
					galContainer.show();
			}
			first=false;
		});
		var popGal=$('.imagefullpop');
		$('a', galContainer).unbind('mousedown').bind('mousedown', function(){
			var o=$(this);
			var href=o.attr('href');
			$('.img>img').attr('src', href);
			popGal.fadeIn();
		}).unbind('click').bind('click', function(){
			return false;
		});
		/*
		.mousedown(function(){
			if(!popGal.is(':visible'))
				popGal.fadeIn();
		});
		*/
		$('a.close', popGal).unbind('mousedown').bind('mousedown', function(){
			popGal.fadeOut();
		});
		// end
	},
	init:function(){
		var _this=this;
		
		// init navigators in masterplan page
		this.initNavs();
		// end
		
		var ct=$(".masterplan-ct");
		// skip if no element
		if(ct.length<=0) return false;
		
		$("#boxpopupfull a.closepop").mousedown(function(){
			$("#boxpopupfull").fadeOut(500,function(){
				$("form",this)[0].reset();
			});
		});
		$("#frm-clear").mousedown(function(){
			$("#boxpopupfull form")[0].reset();
		});

		var reloadData=function(init){
			$.get(ct.attr("rel"),{rand:Math.random()},function(res){
				var prefix=$("UnitList",res)[0].getAttribute("Building");
				$("Unit",res).each(function(){
					var id=this.getAttribute("Id");
					var status=this.getAttribute("Status");
					var el=$("#"+prefix+id);
					var bindValue=function(){
						var imgs={
							"r":"images/point9.png",
							"rb":"images/point3.png",
							"g":"images/point6.png",
							"gb":"images/point1.png",
							"y":"images/point5.png",
							"yb":"images/point2.png",
							"p":"images/point4.png",
							"b":"images/point8.png",
							"Free":"images/point7.png"
						};
						el.attr("rel",status);
						$("img",el).attr("src",imgs[status]);
					};
					if(init===true) 
						bindValue();
					else{
						if(el.attr("rel")!=status)
							el.fadeOut(500,function(){
								bindValue();		
								el.fadeIn(500);
							});
					}
				});
				setTimeout(function(){
					reloadData();
				},5000);
			},"xml");
		};
		
		reloadData(true);
		$("a",ct).mousedown(function(){
			var a=$(this);
			var isFree=(a.attr("rel")=="Free");
			a.css("cursor",isFree?"":"");
			if(isFree){
				$("#frm-unitno").html(a.attr("id").substring(6,10));
				$("input:hidden[name=unitno]").val(a.attr("id"));
				$("input:hidden[name=Id]").val(a.attr("id").substring(6,10));
				$("input:hidden[name=building]").val(a.attr("id").substring(0,6));
				$("#boxpopupfull").fadeIn(500);//test hide
				
				//molp edit
				// tae edit โหลด user จาก helper แทน เนื่องจากต้องใช้ projectId
				/*
				var postUrl=_BookingUriPath+'initbookingform.aspx';
				$.post(postUrl, 
					{ unit_no : a.attr("id") },
				    function(o){
						var userType = o.units[0].UnitType;
						$("#frm-unittype").empty();
						$("#frm-unittype").append(userType);
						
						$("select").empty();
						$("select").append('<option value="">กรุณาเลือกข้อมูล</option>');
						$.each(o.users, function(i,c){
							$("select").append('<option value="'+ c.DisplayName + '">'+ c.DisplayName + '</option>');
						});
				    }, "json");
				*/
				//molp edit
			}
			return false;
		});
		//molp edit
		$xform.init();
		//molp edit
	}
};

$(function(){
	masterplan.init();
});
