//Developer : Salman Amjad
//Email : salmanamjad89@gmail.com
// JavaScript Document
$(document).ready(function(){
//	alert($.support.optDisabled);
	$('.success')
	.append('<a href="#" class="closer">X</a>')
	.find('.closer').click(function(){
		$('.success').slideUp();
		return false;
	});
	if (jQuery().selectMenus != undefined){
		$('#devSel').selectMenus({multi:true, extraL:-5, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});
		$('#propSel').selectMenus({multi:true, extraL:-5, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});		
		$('#priceMin').selectMenus({multi:false, extraL:-3, classOut:'newselULOut1', classInn:'newselULInn1', classUl:'newselUL', classLabel:'mySelect1', classClear:'newselULClear1'});
		$('#priceMax').selectMenus({multi:false, extraL:-3, classOut:'newselULOut1', classInn:'newselULInn1', classUl:'newselUL', classLabel:'mySelect1', classClear:'newselULClear1'});	
		$('#bedrooms').selectMenus({multi:false, extraL:-3, classOut:'newselULOut1', classInn:'newselULInn1', classUl:'newselUL', classLabel:'mySelect1', classClear:'newselULClear1'});
		$('#bathrooms').selectMenus({multi:false, extraL:-3, classOut:'newselULOut1', classInn:'newselULInn1', classUl:'newselUL', classLabel:'mySelect1', classClear:'newselULClear1'});		
		$('#servSel').selectMenus({multi:true, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});
		$('#looking_for').selectMenus({multi:false, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});
		$('#where-sel').selectMenus({multi:false, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});
		$('#proCat').selectMenus({multi:true, classOut:'newselULOut', classInn:'newselULInn', classUl:'newselUL', classLabel:'mySelect', classClear:'newselULClear'});
//		$('#RegisterAs').selectMenus({multi:false, extraL:-3, classOut:'newselULOut2', classInn:'newselULInn2', classUl:'newselUL2', classLabel:'mySelect2', classClear:'newselULClear2'});
	}
	
	//PNG Fixer
	//pngFixer.fix('.home, .Contact, .InvestProcess, img, div, a, h1, input');
	
	var loaderImg = '<img src="/images/ajax_loader.gif" alt="Loading" />';
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	$('body').append('<div class="loader"></div><div class="loaderBG"></div><div class="popBG"></div>');
	//Apply Styling to all form elemnts
	var formR = 10;
	$('body').append('<div class="formInfo"><img src="/images/arrow.png" alt="" /><div class="formInfoTxt"></div></div>');
	////Apply on textfields
	$('body').find('input[pop!=false]').each(function(){
		var currBG = $(this).css('background');
		$(this).focus(function(){
			var ThisOff = $(this).offset();
			var ThisL = ThisOff.left;
			var ThisR = ThisL + $(this).outerWidth() + formR;
			var ThisT = ThisOff.top;
			var rel = $(this).attr('rel');
			if (rel != '' && rel != undefined){
				$('.formInfo .formInfoTxt').html(rel);
				var popHei = $('.formInfo').outerHeight();
				var newT = (popHei - $(this).outerHeight())/2;
				$('.formInfo').find('img:first').css('margin-top', newT-1+'px');
				$('.formInfo')
				.css({'top': ThisT-newT+'px', 'left': ThisR+'px', 'z-index': 500})
				.fadeIn();
			}
			$(this).css({'background': '#fffee5'});
		});
		$(this).blur(function(){
			$(this).css({'background': currBG});
			$('.formInfo').hide();
		});
	});
	//Advertise Here Submenu
	var TimerM;
	var subM = $('#advHere').next('ul.submenu');
	$('#advHere').hover(function(){
		clearTimeout(TimerM);
		var thisOff = $(this).position();
		var thisL = thisOff.left;
		var thisT = thisOff.top;
		var thisB = thisT + $(this).outerHeight();
		subM
		.css({position:'absolute', top:(thisB-1)+'px', left:thisL+'px', 'z-index':500})
		.fadeIn();
		$(this).css('background-position', 'bottom');
	}, function(){
		TimerM = setTimeout(function(){
			subM.fadeOut("fast", function(){
				$('#advHere').css('background-position', 'top');
			});
		}, 500);
	});
	subM.hover(function(){
		clearTimeout(TimerM);
	}, function(){
		TimerM = setTimeout(function(){
			subM.fadeOut("fast", function(){
				$('#advHere').css('background-position', 'top');
			});
		}, 500);
	});
	
	
	$('#mainPageS').submit(function(){
		var selVal = $('#looking_for').val();
		if (selVal == 0){
			alert('Please select looking for');
			return false;
		}
	});
	
	$('.thumbsSlider').gallery({thumbH: 88, up:'#slideUp', down:'#slideDown', slider: '.thumbsSlider'});
	
	$('#RegisterAs').change(function(){
		var goto = $('#RegisterAs option:selected').val();
		if (goto != 0 && goto != ''){
			document.location.href='/register'+goto;
		}else{
			alert("Please select register type");
		}
	});
	
	var sortBox = $('.sortbyBox').html();
	//alert(sortBox);
	if(sortBox!=null)
	$('.leftColumnInternal').append('<div class="sortbyBox" style="margin:17px 0 20px 0;">'+sortBox+'</div>');
	
	///*Apply on select menus
	/*$('body').find('select').each(function(){
		var currBG = $(this).css('background');
		$(this).focus(function(){
			var ThisOff = $(this).offset();
			var ThisL = ThisOff.left;
			var ThisR = ThisL + $(this).outerWidth() + formR;
			var ThisT = ThisOff.top;
			var rel = $(this).attr('rel');
			if (rel != '' && rel != undefined){
				$('.formInfo .formInfoTxt').html(rel);
				var popHei = $('.formInfo').outerHeight();
				var newT = (popHei - $(this).outerHeight())/2;
				$('.formInfo').find('img:first').css('margin-top', newT-1+'px');
				$('.formInfo')
				.css({'top': ThisT-newT+'px', 'left': ThisR+'px'})
				.fadeIn();
			}
			$(this).css({'background': '#fffee5'});
		});
		$(this).blur(function(){
			$(this).css({'background': currBG});
			$('.formInfo').hide();
		});
	});*/
	//All Form Validations
	jQuery.fn.formValidate = function(array){
		$(this).submit(function(){
			var error = 0;
			for (i=0; i<array.length; i++){
				var currFArr = array[i];
				var selector = currFArr[0];
				var index = currFArr[1];
				var type = currFArr[2];
				var currField = $(this).find(selector+":eq("+index+")");
				switch (type){
					case 'normal':
						if (currField.val() == '' || currField.val() == null){
							currField.addClass('fieldError');
							error = 1;
						}else{
							currField.removeClass('fieldError');
						}
					break;
					case 'select':
						if (currField.val() == '' || currField.val() == 0){
							currField.addClass('fieldError');
							error = 1;
						}else{
							currField.removeClass('fieldError');
						}
					break;
					case 'numeric':
						if (currField.val() == '' || currField.val() == null){
							currField.addClass('fieldError');
							error = 1;
						}else if (isNaN(currField.val())){
							currField.addClass('fieldError');
							error = 1;
						}else{
							currField.removeClass('fieldError');
						}
					break;
					case 'email':
						if (currField.val() == '' || currField.val() == null){
							currField.addClass('fieldError');
							error = 1;
						}else if (!pattern.test(currField.val())){
							currField.addClass('fieldError');
							error = 1;
						}else{
							currField.removeClass('fieldError');
						}
					break;
					case 'checkbox':
						if (!currField.attr('checked')){
							currField.parent().addClass('fieldError');
							error = 1;
						}else{
							currField.parent().removeClass('fieldError');
						}
					break;
				}
			}
			if (error == 1){
				return false;
			}
		});
	}
	
	//All Tabs Functions
	var tabCount = 0;
	$('#subTabs1').find('a').each(function(){
		$(this)
		.css('background-position', 'bottom')
		.click(function(){
			var tabCount1 = 0;
			var This = $('#subTabs1 a[rel!=all]').index($(this));
			$('#subTabs1').find('a').each(function(){
				$('#tabCont1').find('div.tabsContent:eq('+tabCount1+')').hide();
				$(this).css('background-position', 'top')
				tabCount1++;
			});
			$('#tabCont1').find('div.tabsContent:eq('+This+')').fadeIn();
			$(this).css('background-position', 'bottom')
		});
		if (tabCount != 0){
			$('#tabCont1').find('div.tabsContent:eq('+tabCount+')').hide();
			$(this).css('background-position', 'top');
		}
		tabCount++;
	});
	
	//Validate Registration form
	var rType = $('#RegForm').find('input[type=hidden]').val();
//	alert(rType);
	if (rType == 8){
		$('#RegForm').formValidate(new Array(
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'normal'),
			new Array('input[type=text]', 2, 'normal'),
			new Array('input[type=text]', 3, 'numeric'),
			new Array('input[type=text]', 4, 'email'),
			new Array('input[type=text]', 5, 'email'),
			new Array('input[type=text]', 6, 'normal'),
			new Array('input[type=text]', 7, 'normal'),
			new Array('input[type=text]', 8, 'numeric'),
			new Array('input[type=text]', 9, 'normal'),
			//new Array('input[type=text]', 7, 'numeric'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'numeric'),
			new Array('select', 0, 'select'),
			new Array('select', 1, 'select'),
			new Array('select', 2, 'select'),
			new Array('input[type=password]', 0, 'normal'),
			new Array('input[type=password]', 1, 'normal'),
			new Array('input[type=checkbox]', 0, 'checkbox')
		));
	}else if(rType == "" ) {
		$('#RegForm').formValidate(new Array(
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'email'),
			new Array('input[type=text]', 2, 'email'),
			//new Array('input[type=text]', 2, 'normal'),
			//new Array('input[type=text]', 3, 'normal'),
			//new Array('input[type=text]', 4, 'numeric'),
			//new Array('input[type=text]', 5, 'numeric'),
			//new Array('input[type=text]', 6, 'numeric'),
			//new Array('input[type=text]', 7, 'normal'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'normal'),
			//new Array('input[type=text]', 7, 'numeric'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'numeric'),
			new Array('select', 0, 'select'),
			new Array('select', 1, 'select'),
			//new Array('select', 1, 'select'),
			new Array('input[type=password]', 0, 'normal'),
			new Array('input[type=password]', 1, 'normal'),
			new Array('input[type=checkbox]', 0, 'checkbox')
		));
	}else{
		$('#RegForm').formValidate(new Array(
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'normal'),
			new Array('input[type=text]', 2, 'numeric'),
			new Array('input[type=text]', 3, 'email'),
			new Array('input[type=text]', 4, 'email'),
			new Array('input[type=text]', 5, 'normal'),
			new Array('input[type=text]', 6, 'normal'),
			new Array('input[type=text]', 7, 'numeric'),
			new Array('input[type=text]', 8, 'normal'),
			//new Array('input[type=text]', 7, 'numeric'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'numeric'),
			new Array('select', 0, 'select'),
			new Array('select', 1, 'select'),
			new Array('select', 2, 'select'),
			new Array('input[type=password]', 0, 'normal'),
			new Array('input[type=password]', 1, 'normal'),
			new Array('input[type=checkbox]', 0, 'checkbox')
		));
	}
	
	//Validate Login Form
	$('#loginForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'email'),
		new Array('input[type=password]', 0, 'normal')
	));
	
	//Validate Contact Us Form
	$('#emailForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('input[type=text]', 1, 'email'),
		//new Array('input[type=text]', 2, 'numeric'),
		new Array('textarea', 0, 'normal')
	));
	
	//Validate Tech Support Form
	$('#techForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('input[type=text]', 1, 'email'),
		//new Array('input[type=text]', 2, 'numeric'),
		new Array('select', 0, 'select'),
		new Array('textarea', 0, 'normal')
	));
	
	//Validate Resend Form
	$('#resendForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'email')
	));
	
	//Validate Forgot Form
	$('#forgotForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'email')
	));
	
	//Validate Profile form
	var userT = $('#userT').val();
	if (userT == 8){
		$('#ProForm').formValidate(new Array(					 
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'normal'),
			new Array('input[type=text]', 2, 'email'),
			new Array('input[type=text]', 3, 'normal'),
			new Array('input[type=text]', 4, 'numeric'),
			new Array('input[type=text]', 5, 'normal'),
			new Array('input[type=text]', 6, 'normal'),
//			new Array('input[type=text]', 6, 'normal'),
			new Array('input[type=text]', 8, 'numeric'),
//			new Array('input[type=text]', 9, 'normal'),
			new Array('select', 2, 'select')
		));
	}else if(userT == "" ) {
		$('#ProForm').formValidate(new Array(
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'email')
			//new Array('input[type=text]', 2, 'normal'),
			//new Array('input[type=text]', 3, 'normal'),
			//new Array('input[type=text]', 4, 'numeric'),
			//new Array('input[type=text]', 5, 'numeric'),
			//new Array('input[type=text]', 6, 'numeric'),
			//new Array('input[type=text]', 7, 'normal'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'normal'),
			//new Array('input[type=text]', 7, 'numeric'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'numeric'),
			//new Array('select', 0, 'select'),
			//new Array('select', 1, 'select'),
			//new Array('input[type=password]', 0, 'normal'),
			//new Array('input[type=checkbox]', 0, 'checkbox')
		));
	}else{
		$('#ProForm').formValidate(new Array(
			new Array('input[type=text]', 0, 'normal'),
			new Array('input[type=text]', 1, 'normal'),
			new Array('input[type=text]', 2, 'email'),
			new Array('input[type=text]', 3, 'numeric'),
			new Array('input[type=text]', 4, 'normal'),
			new Array('input[type=text]', 4, 'normal'),
//			new Array('input[type=text]', 5, 'normal'),
			//new Array('input[type=text]', 6, 'normal'),
			new Array('input[type=text]', 7, 'numeric')
//			new Array('input[type=text]', 8, 'normal'),
			//new Array('input[type=text]', 7, 'numeric'),
			//new Array('input[type=text]', 8, 'numeric'),
			//new Array('input[type=text]', 9, 'numeric'),
//			new Array('select', 0, 'select'),
//			new Array('select', 2, 'select'),
//			new Array('input[type=password]', 0, 'normal')
		));
	}
	
	//Validate Add Store form
	$('#addSForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('input[type=password]', 0, 'normal'),
		new Array('input[type=text]', 1, 'email'),
		new Array('input[type=text]', 2, 'normal'),
		new Array('input[type=text]', 3, 'normal'),
		new Array('input[type=text]', 4, 'numeric'),
		new Array('input[type=text]', 5, 'normal'),
		new Array('input[type=text]', 6, 'normal'),
		new Array('input[type=text]', 7, 'numeric'),
		new Array('select', 0, 'select')
	));
	
	//Validate Edit Store form
	$('#editSForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('input[type=text]', 1, 'normal'),
		new Array('input[type=text]', 2, 'normal'),
		new Array('input[type=text]', 3, 'numeric'),
		new Array('input[type=text]', 4, 'normal'),
		new Array('input[type=text]', 5, 'normal'),
		new Array('input[type=text]', 6, 'numeric'),
		new Array('select', 0, 'select')
	));
	
	//Add Post Validation
	$('#addPostForm').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('select', 0, 'select')
	));
	
	//Validate Sold Properties form
	$('#propertyS').formValidate(new Array(
		new Array('input[type=text]', 0, 'normal'),
		new Array('input[type=text]', 1, 'normal')
	));
	
	//Some Common Functions
	var counter = 0;
	var dur = 5000;
	jQuery.fn.extend({
		fakeUpload : function(txt){
			$(this)
			.css({'opacity':0, 'cursor':'pointer'})
			.bind('change mouseout', function(){
				$(txt).val($(this).val());
			});
		},
		textfieldHint : function(options){
			var iniVal = options.iniVal;
			var currVal = $(this).val();
			//var class = $(this).attr('class');
			//$(this).removeClass(class);
			if (currVal == ''){
				$(this).val(iniVal);
			}
			$(this)
			.focus(function(){
				if ($(this).val() == iniVal){
					$(this).val('');
				}
			})
			.blur(function(){
				if ($(this).val() == null || $(this).val() == ''){
					$(this).val(iniVal);
				}
			})
			//$(this)
			//.addClass(class)
			//.css({'padding':'10px', 'height':'24px', 'overflow':'hidden', 'display':'block'});
		},
		autoComplete : function(options){
			var mainTxt = '';
			if ($(this).length > 0){
				var This = $(this);
				var autoId = options.autoId;
				var action = options.action;
				var catID = options.catID;
				var lihover = options.lihover;
				var multi = options.multi;
				var timer;
				$('body').append('<div id="'+autoId+'" style="display:none;"></div>');
				var autoC = $('#'+autoId);
				This
				//.keydown(function(){
				//	autoCompl(This, autoC);
				//})
				//.keypress(function(){
				//	autoCompl(This, autoC);
				//})
				.keyup(function(){
					setTimeout(function(){
						autoCompl(This, autoC);
					}, 100);
				})
				.blur(function(){
					timer = setTimeout(function(){
						autoC.hide();
					}, 300);
				});
				function autoCompl(This, autoC){
					checkLen();
					var subOff = This.offset();
					var subL = subOff.left;
					var subT = subOff.top;
					var subB = subT + This.outerHeight();
					var subWid = This.outerWidth();
					autoC.css({'position': 'absolute', 'top': subB+'px', 'left': subL+'px', 'width': subWid+'px', 'z-index': 500});
					
					var val = This.val();
					if (val != ''){
						autoC.show();
						$.ajax({  
						  type: "POST",
						  url: "/includes/all-ajax.php",  
						  data: "action="+action+"&keyword="+val+"&catID="+catID,
						  success: function(html){
							autoC.html(html);
							autoC.find('li').css({'cursor': 'pointer'});
							autoC.find('li').each(function(){
								if (lihover != undefined){
									$(this).hover(function(){
										$(this).addClass(lihover);
									}, function(){
										$(this).removeClass(lihover);
									})
								}
								$(this).click(function(){
									if (multi == true){
										var currVal = $(this).text();
										var currTxt = This.val();
										var currValA = currTxt.split(';');
										var currValAN = new Array();
										for(i=0; i<(currValA.length-1); i++){
											currValAN[i] = currValA[i];
										}
										mainTxt = currValA.length == 1 ? currVal+'; ': currValAN+'; '+currVal+'; ';
										This.val(mainTxt);
									}else{
										var currVal = $(this).attr('rel');
										This.val(currVal);
									}
									checkLen();
									This.focus();
								});
							});
						  }
						});
					}
					function checkLen(){
						var TxtLen = This.val().length;
						if (TxtLen > 75){
//							This.val(This.val());
						}
					}
				};
				$(window).resize(function(){
					var subOff = This.offset();
					var subL = subOff.left;
					var subT = subOff.top;
					var subB = subT + This.outerHeight();
					autoC.css({'top': subB+'px', 'left': subL+'px'});					
				});
			}
		},
		styleSelect : function(selID){
			$(this)
			.css('opacity', 0)
			.bind('change mouseout', function(){
				$(txt).val($(this).val());
			});
		},
		prop_thumb_slider : function(options){
			var This = $(this);
			var currPos = 0;
			var next = options.next;
			var prev = options.prev;
			var curr = options.curr;
			var total = options.total;
			var dup = This.find('li:first').clone();
			dup.children('a:eq(0)').attr('rel', '');
			dup.appendTo(This);
			var size = This.find('li').size();
			var each = This.find('li:first').outerWidth();
			var tWid = (size * each) + 50;
			var autoTimer;
			var countR = 1;
			total.html(size-1);
			curr.html(currPos+1);	
			This.width(tWid);
			next.click(function(){
				if (currPos < (size-1)){
					currPos++;
				}else{
					This.css({marginLeft: 0});
					currPos = 1;
				}
				This.animate({marginLeft: -(currPos*each)}, {queue: false});
				countR = currPos+1;
				countR = countR == size ? 1 : countR;
				curr.html(countR);
			})
			prev.click(function(){
				if (currPos > 0){
					currPos--;
				}else{
					This.css({marginLeft: -((size-1)*each)});
					currPos = (size-2);
				}
				This.animate({marginLeft: -(currPos*each)}, {queue: false});
				curr.html(currPos+1);
			})
			This.find('li').each(function(){
				$(this).hover(function(){
					$(this).find('.zoomin').fadeIn();
				}, function(){
					$(this).find('.zoomin').fadeOut();
				});
			})
			autoTimer = setInterval(function(){
				if (currPos < (size-1)){
					currPos++;
				}else{
					This.css({marginLeft: 0});
					currPos = 1;
				}
				This.animate({marginLeft: -(currPos*each)}, {queue: false});
				countR = currPos+1;
				countR = countR == size ? 1 : countR;
				curr.html(countR);
			}, dur);
			counter++;
		},
		simplePop : function(options){
			var popID = $(options.popup);
			var popBG = $(options.popBG);
			var popWid = options.width;
			var popHei = options.height;
			var border = options.border;
			var popT = 0;
			var popL = 0;
			popID.hide();
			if (popHei == 'auto'){
				popID.width(popWid);
				popHei = popID.outerHeight();
			}
			var popClose = popID.find('.popClose');
			$(this).css('cursor', 'pointer').click(function(){
				var scL = $(window).scrollTop();
				var winHei = $(window).height();
				var docHei = $(document).height();
				var docWid = $(document).width();
				popT = (winHei - popHei)/2;
				popL = (docWid - popWid)/2;
				popID.find('input[type=text]').val('');
				popID.find('.result span').html('');
				popID.css({'position': 'absolute', 'top': popT+scL+'px', 'left': popL+'px', 'width': popWid+'px', 'height': popHei+'px', 'z-index': 300, 'background': '#FFF', 'border':border}).fadeIn();
				popBG
				.css({'position': 'absolute', 'top': '0px', 'left': '0px', 'z-index': 200, 'background': '#000', 'opacity': 0.8, 'width': docWid+'px', 'height': docHei+'px', 'z-index': 150})
				.fadeIn();
			});
			popClose.click(function(){
				popID.fadeOut();
				popBG.fadeOut();
			});
			popBG.click(function(){
				popID.fadeOut();
				popBG.fadeOut();
			});
			if(!$.browser.safari) {
				$(window).scroll(function(){
					var scL = $(window).scrollTop();
					popID.animate({'top': popT+scL+'px'}, {queue: false});
				});
			}
		},
		gallery : function(options){
			var This = $(this);
			var slider = $(options.slider);
			var down = $(options.down);
			var up = $(options.up);
			var thumbH = options.thumbH;
			var currPos = 0;
			var size = This.find('a').size();
				
				
			slider.css({height: '343px', position: 'relative'});
			displayCtrl();
			
			down.css({'cursor': 'pointer'}).click(function(){
				currPos++;
				alert(currPos);
				if (currPos > size-4){
					currPos = size-4;
				}
				slider.animate({top: -currPos*thumbH});
				displayCtrl();
			});
			
			up.css({'cursor': 'pointer'}).click(function(){
				currPos--;
				if (currPos < 0){
					currPos = 0;
				}
				slider.animate({top: -currPos*thumbH});
				displayCtrl();
			});
			
			function displayCtrl() {
		//		alert(currPos);
		//		alert(size);
				up.toggle(true);
				down.toggle(true);
				if(currPos==0) {
					up.toggle(false);
				}
				if(currPos>=size-4) {
					down.toggle(false);
				}
			}
		}
	});
	//All Search Hints
	$('#search').find('input[type=text]').each(function(){
		$(this).textfieldHint({iniVal: $(this).attr('rel')});
	});
	$('#searchMain').autoComplete({autoId: 'suburb_hint',autoC: 'autoComp', action:'auto_suburb', catID: '', lihover:'hover', multi:true});
	$('#servicesTxt').autoComplete({autoId: 'suburb_hint1',autoC: 'autoComp1', action:'auto_service', catID: $('#CatTID').val(), lihover:'hover', multi:true});
	$('#categoryTxt').autoComplete({autoId: 'suburb_hint1',autoC: 'autoComp1', action:'auto_keyword', catID: $('#UserType').val(), lihover:'hover', multi:true});
	$('#Suburb1').autoComplete({autoId: 'suburb_hint',autoC: 'autoComp', action:'auto_suburbA', catID: '', lihover:'hover', multi:false});
	//Define Fake Upload Field
	$('#logo').fakeUpload('#fUpload');
	
	//Property Thumbnail Slider
	$('.imgThumb').each(function(){
		var nextE = $(this).parent().next('.next').find('a.nextBtn');
		var prevE = $(this).parent().next('.next').find('a.backBtn');
		var currE = $(this).parent().next('.next').find('p span.curr');
		var totalE = $(this).parent().next('.next').find('p span.total');
		$(this).prop_thumb_slider({next: nextE, prev: prevE, curr: currE, total:totalE});
		dur = dur + 100;
	});
	
	//Sub Menu Hover Effect
	$('#menu-hover').find('a').each(function(){
		var hImg = $(this).next('a');
		$(this).css('cursor','pointer').hover(function(){
			clearTimeout(hImg.data('timer'));
			var ThisOff = $(this).offset();
			var ThisL = ThisOff.left;
			var ThisT = ThisOff.top;
			hImg.css({'position':'absolute', 'left':ThisL+'px', 'top':ThisT+'px', 'z-index':200, 'border':'0'});
			hImg.find('img').css('border', '0');
			setTimeout(function(){
				hImg.fadeIn();
			}, 100);
		}, function(){
			hImg.data('timer', setTimeout(function(){
				hImg.hide();
			}, 100));
		});
		hImg.css('cursor','pointer').hover(function(){
			clearTimeout(hImg.data('timer'));
			//hImg.show();
		}, function(){
			hImg.data('timer', setTimeout(function(){
				hImg.hide();
			}, 100));
		});
	});
	
	//Product Categories
	if ($('#proCatS').length > 0){
		var val = $('#proCatS').val();
		setTimeout(function(){
			$('#proCat').prev('span.select').text(val.substring(0, 35)+'...');
		}, 500);
	}
	/*$('#proCat').change(function(){
		var ThisVal = $(this).val();
	  	var div = $('#proCat').next('div');
	  	var catVal = div.next('input[type=hidden]');
	  	var divInn = $('#proCat').next('div').find('div.obj');
		if (ThisVal != 0){
			show_loader();
			$.ajax({  
			  type: "POST",
			  url: "/includes/all-ajax.php",  
			  data: "action=load_subCat&catID="+ThisVal,
			  success: function(result){
				  hide_loader();
				  if (result != 0){
					  var ThisOff = $('#proCat').offset();
					  var ThisL = ThisOff.left;
					  var ThisT = ThisOff.top;
					  divInn.html(result);
					  div
					  .css({'position':'absolute', 'top':ThisT-8+'px', 'left':ThisL-1+'px', 'z-index':50})
					  .fadeIn();
				  }else{
					  catVal.val(ThisVal);
				  }
			  }
			});
		}else{
			catVal.val(ThisVal);
	  	}
		div.find('button').click(function(){
			var cate = '';
			var catID = '';
			div.find('input[type=checkbox]:checked').each(function(){
				cate += cate == '' ? $(this).next('span').html() : ', '+$(this).next('span').html();
				catID += catID == '' ? $(this).val() : '|'+$(this).val();
			});
			$('#proCat').prev('span.select').text(cate.substring(0, 35)+'...');
			catVal.val(catID);
			div.fadeOut();
		});
	});*/
	
	//Add to my projects
	$('a[save=true]').each(function(){
		var This = $(this);
		This.click(function(){
			$('body').data('rel', $(this).attr('rel'));
			$('body').data('itemT', $(this).attr('itemT'));
			var popID = $('#popAddProj');
			var popBG = $('.popBG');
			var popWid = 500;
			var popHei = 280;
			var popClose = popID.find('.popClose');
			var scL = $(window).scrollTop();
			var winHei = $(window).height();
			var docHei = $(document).height();
			var docWid = $(document).width();
			var popT = (winHei - popHei)/2;
			var popL = (docWid - popWid)/2;
			popID.find('.result span').html('');
			popID.css({'position': 'absolute', 'top': popT+scL+'px', 'left': popL+'px', 'width': popWid+'px', 'height': popHei+'px', 'z-index': 160, 'background': '#FFF'}).fadeIn();
			popBG
			.css({'position': 'absolute', 'top': '0px', 'left': '0px', 'z-index': 150, 'background': '#000', 'opacity': 0.8, 'width': docWid+'px', 'height': docHei+'px'})
			.fadeIn()
			.click(function(){
				popID.fadeOut();
				$(this).fadeOut();
			});
			popClose
			.click(function(){
				popID.fadeOut();
				popBG.fadeOut();
			});
			$(window).scroll(function(){
				var scL = $(window).scrollTop();
				popID.animate({'top': popT+scL+'px'}, {queue: false});
			});
		});
	});
	
	
	//Add Project
	$('#popAddProj').find('#saveProj').click(function(){
		var pID = $('body').data('rel');
		var iType = $('body').data('itemT');
		var popID = $('#popAddProj');
		var projID = popID.find('select:eq(0)').val();
		alert("action=addItem&projID="+projID+"&pID="+pID+"&iType="+iType);
		popID.find('.result span').html(loaderImg);
		$.ajax({
		  url: "/includes/all-ajax.php",
		  type: "POST",
		  data: "action=addItem&projID="+projID+"&pID="+pID+"&iType="+iType,
		  success: function(result){
			  if (result == 2){
				popID.find('.result span')
				.text("Item aleady added to this project")
				.addClass('error');
			  }else if(result == 1){
				popID.find('.result span')
				.text("Saved to project successfully")
				.removeClass('error');
				setTimeout(function(){
					$('#popAddProj, .popBG').fadeOut();
				}, 500);
			  }else{
				popID.find('.result span')
				.text("Something went wrong, Please try again later")
				.removeClass('error');
			  }
		  }
		});
	});
	$('#addNewProj').simplePop({popup: '#popAddNProj', popBG: '.popBG1', width:400, height: 220, border: '6px outset #CCC'});
	$('#popAddNProj').find('button').click(function(){
		var obj = $('#popAddNProj');
		var error = 0;
		var title = obj.find('input[type=text]:eq(0)');
		var decr = obj.find('textarea:eq(0)');
		if (title.val() == '' || title.val() == null){
			error = 1;
			title.addClass('fieldError');
		}else{
			title.removeClass('fieldError');
		}
		if (decr.val() == '' || decr.val() == null){
			error = 1;
			decr.addClass('fieldError');
		}else{
			decr.removeClass('fieldError');
		}
		if (error == 0){
			obj.find('.result span').html(loaderImg);
			$.ajax({
			  url: "/includes/all-ajax.php",
			  type: "POST",
			  data: "action=addProj&title="+title.val()+"&desc="+decr.val(),
			  success: function(result){
				  if (result != 0){
					obj.find('.result span').text("Project added successfully");
					$('#popAddProj').find('select').replaceWith(result);
					$('#popAddNProj, .popBG1').fadeOut();
				  }else{
					obj.find('.result span').text("Something went wrong, Please try again later");
				  }
			  }
			});
		}
	});
	
	//Make An Enquiry
	$('#makeEnqBtn').simplePop({popup: '#makeEnq', popBG: '.popBG', width:680, height: 540});
	$('#makeEnq').find('button').click(function(){
		var error = 0;
		var Obj = $('#makeEnq');
		var pID = $('#makeEnqBtn').attr('rel');
		var iType = $('#makeEnqBtn').next('input[type=hidden]');
		var name = Obj.find('input[type=text]:eq(0)');
		var email = Obj.find('input[type=text]:eq(1)');
		var phone = Obj.find('input[type=text]:eq(2)');
		var contactE = Obj.find('input[type=checkbox]:eq(0):checked');
		var contactP = Obj.find('input[type=checkbox]:eq(1):checked');
		var propID = Obj.find('input[name=prop_id]');
		var propHead = Obj.find('input[name=prop_headline]');
		var txta = Obj.find('textarea:eq(0)');
		if (name.val() == '' || name.val() == null){
			error = 1;
			name.addClass('fieldError');
		}else{
			name.removeClass('fieldError');
		}
		if (email.val() == '' || email.val() == null){
			error = 1;
			email.addClass('fieldError');
		}else if(!pattern.test(email.val())){
			error = 1;
			email.addClass('fieldError');
		}else{
			email.removeClass('fieldError');
		}
		if (phone.val() == '' || phone.val() == null){
			error = 1;
			phone.addClass('fieldError');
		}else{
			phone.removeClass('fieldError');
		}
		if (txta.val() == '' || txta.val() == null){
			error = 1;
			txta.addClass('fieldError');
		}else{
			txta.removeClass('fieldError');
		}
		if (error == 0){
//			var str = "action=makeEnquiry&pID="+pID+"&iType="+iType.val()+"&name="+name.val()+"&email="+email.val()+"&phone="+phone.val()+"&txta="+txta.val()+"&contactE="+contactE.val()+"&contactP="+contactP.val();
//			alert(str);
			Obj.find('.result span').html(loaderImg);
			$.ajax({
			  url: "/includes/all-ajax.php",
			  type: "POST",
			  data: "action=makeEnquiry&pID="+pID+"&iType="+iType.val()+"&name="+name.val()+"&email="+email.val()+"&phone="+phone.val()+"&txta="+txta.val()+"&contactE="+contactE.val()+"&contactP="+contactP.val()+"&propId="+propID.val()+"&propHead="+propHead.val(),
			  success: function(result){
				  if(result == 1){
					Obj.find('.result')
					.text("Enquiry form sent successfully")
					.removeClass('error');
					setTimeout(function(){
						Obj.fadeOut();
						$('.popBG').fadeOut();
					}, 500);
				  }else{
					Obj.find('.result span')
					.text(result)
					.addClass('error');
				  }
			  }
			});
		}
	});
	$('#makeEnq2').find('button').click(function(){
		var error = 0;
		var Obj = $('#makeEnq2');
		var pID = $('#makeEnqBtn').attr('rel');
		var iType = $('#makeEnqBtn').next('input[type=hidden]');
		var name = Obj.find('input[type=text]:eq(0)');
		var email = Obj.find('input[type=text]:eq(1)');
		var phone = Obj.find('input[type=text]:eq(2)');
		var contactE = Obj.find('input[type=checkbox]:eq(0):checked');
		var contactP = Obj.find('input[type=checkbox]:eq(1):checked');
		var propID = Obj.find('input[name=prop_id]');
		var propHead = Obj.find('input[name=prop_headline]');
		var txta = Obj.find('textarea:eq(0)');
		if (name.val() == '' || name.val() == null){
			error = 1;
			name.addClass('fieldError');
		}else{
			name.removeClass('fieldError');
		}
		if (email.val() == '' || email.val() == null){
			error = 1;
			email.addClass('fieldError');
		}else if(!pattern.test(email.val())){
			error = 1;
			email.addClass('fieldError');
		}else{
			email.removeClass('fieldError');
		}
		if (phone.val() == '' || phone.val() == null){
			error = 1;
			phone.addClass('fieldError');
		}else{
			phone.removeClass('fieldError');
		}
		if (txta.val() == '' || txta.val() == null){
			error = 1;
			txta.addClass('fieldError');
		}else{
			txta.removeClass('fieldError');
		}
		if (error == 0){
//			var str = "action=makeEnquiry&pID="+pID+"&iType="+iType.val()+"&name="+name.val()+"&email="+email.val()+"&phone="+phone.val()+"&txta="+txta.val()+"&contactE="+contactE.val()+"&contactP="+contactP.val();
//			alert(str);
			Obj.find('.result span').html(loaderImg);
			$.ajax({
			  url: "/includes/all-ajax.php",
			  type: "POST",
			  data: "action=makeEnquiry&pID="+pID+"&iType="+iType.val()+"&name="+name.val()+"&email="+email.val()+"&phone="+phone.val()+"&txta="+txta.val()+"&contactE="+contactE.val()+"&contactP="+contactP.val()+"&propId="+propID.val()+"&propHead="+propHead.val(),
			  success: function(result){
				  if(result == 1){
					Obj.find('.result')
					.text("Enquiry form sent successfully")
					.removeClass('error');
				  }else{
					Obj.find('.result span')
					.text(result)
					.addClass('error');
				  }
			  }
			});
		}
	});
	
	//Email Friend
	$('#emailFriendBtn').simplePop({popup: '#emailFrnd', popBG: '.popBG', width:405, height: 500});
	$('#emailFrnd').find('button').click(function(){
		var error = 0;
		var Obj = $('#emailFrnd');
		var pID = $('#emailFriendBtn').attr('rel');
		var iType = $('#emailFriendBtn').next('input[type=hidden]');
		var actT = iType.next('input[type=hidden]');
		var name = Obj.find('input[type=text]:eq(0)');
		var email = Obj.find('input[type=text]:eq(1)');
		var fname = Obj.find('input[type=text]:eq(2)');
		var femail = Obj.find('input[type=text]:eq(3)');
		var self = Obj.find('input[type=checkbox]:eq(0):checked');
		var txta = Obj.find('textarea:eq(0)');
		if (name.val() == '' || name.val() == null){
			error = 1;
			name.addClass('fieldError');
		}else{
			name.removeClass('fieldError');
		}
		if (email.val() == '' || email.val() == null){
			error = 1;
			email.addClass('fieldError');
		}else if(!pattern.test(email.val())){
			error = 1;
			email.addClass('fieldError');
		}else{
			email.removeClass('fieldError');
		}
		if (fname.val() == '' || fname.val() == null){
			error = 1;
			fname.addClass('fieldError');
		}else{
			fname.removeClass('fieldError');
		}
		if (femail.val() == '' || femail.val() == null){
			error = 1;
			femail.addClass('fieldError');
		}else if(!pattern.test(femail.val())){
			error = 1;
			femail.addClass('fieldError');
		}else{
			femail.removeClass('fieldError');
		}
		if (txta.val() == '' || txta.val() == null){
			error = 1;
			txta.addClass('fieldError');
		}else{
			txta.removeClass('fieldError');
		}
		if (error == 0){
			Obj.find('.result span').html(loaderImg);
			$.ajax({
			  url: "/includes/all-ajax.php",
			  type: "POST",
			  data: "action=sendFriend&pID="+pID+"&iType="+iType.val()+"&actT="+actT.val()+"&name="+name.val()+"&email="+email.val()+"&fname="+fname.val()+"&femail="+femail.val()+"&txta="+txta.val()+"&self="+self.val(),
			  success: function(result){
				  if(result == 1){
					Obj.find('.result')
					.text("Your friend has been notified.")
					.removeClass('error');
					setTimeout(function(){
						Obj.fadeOut();
						$('.popBG').fadeOut();
					}, 500);
				  }else{
					Obj.find('.result span')
					.text(result)
					.addClass('error');
				  }
			  }
			});
		}
	});
	
	//Advertise Here Popup
	$('#advertiseHere').simplePop({popup: '#popAdvert', popBG: '.popBG', width:550, height: 'auto'});
	$('#terms').simplePop({popup: '#popTerms', popBG: '.popBG', width:550, height: 'auto'});
	
	//Add Comments Validation
	$('#addCommF').submit(function(){
		var error = 0;
		var comm = $(this).find('textarea');
		if (comm.val() == null || comm.val() == ''){
			comm.addClass('fieldError');
			error = 1;
		}else{
			comm.removeClass('fieldError');
		}
		if (error == 1){
			return false;
		}
	});
	
	
	
	
	/*$('body').find('select[rel=styled]').each(function(){
		var This = $(this);
		var class = This.attr('class');
		var id = This.attr('id');
		var name = This.attr('name');
		var ThisOff = This.offset();
		var ThisL = ThisOff.left;
		var ThisT = ThisOff.top;
		var newID = id+name;
		This.after('<span class="'+class+'" id="'+newID+'"></span>');
		var span = This.next('span');
		span.css({'position':'absolute', 'top':ThisT+'px', 'left':ThisL+'px', 'z-index': 99});
		var spanW = span.outerWidth();
		var spanH = span.outerHeight();
		var nVal = $(this).find('option:selected').text();
		span.text(nVal);
		This
		.css({'position':'relative', 'width':spanW+'px', 'height':spanH+'px', 'z-index':100, 'opacity': 0})
		.attr('class', 'styled')
		.change(function(){
			var nVal = $(this).find('option:selected').text();
			span.text(nVal);
		});
	});*/
	
	$('div.checkboxSrch').click(function(e){
		var checked = $(this).children('input').attr('checked');
		if(checked) {
			$(this).children('input').attr('checked','');
			$(this).css('background-image','url(/images/icons/checkbox_empty.gif)');
		} else {
			$(this).children('input').attr('checked','checked');
			$(this).css('background-image','url(/images/icons/checkbox_checked.gif)');
		}
	});
	
});
jQuery.fn.gallery = function(options){
	var This = $(this);
	var slider = $(options.slider);
	var down = $(options.down);
	var up = $(options.up);
	var thumbH = options.thumbH;
	var currPos = 0;
	var size = This.find('a').size();
	if(size<4) size = 4;
	
	slider.css({height: '343px', position: 'relative'});
//	displayCtrl();
	
	down.css({'cursor': 'pointer'}).click(function(){
		currPos++;
//		alert("currPos"+currPos+"\nsize"+size);
		if (currPos > size-4){
			currPos = size-4;
		}
//		alert(currPos);
		slider.animate({top: -currPos*thumbH});
//		displayCtrl();
	});
	
	up.css({'cursor': 'pointer'}).click(function(){
		currPos--;
		if (currPos < 0){
			currPos = 0;
		}
		slider.animate({top: -currPos*thumbH});
//		displayCtrl();
	});
	
	function displayCtrl() {
//		alert(currPos);
//		alert(size);
		up.toggle(true);
		down.toggle(true);
		if(currPos==0) {
			up.toggle(false);
		}
		if(currPos>=size-4) {
			down.toggle(false);
		}
	}
}
function show_loader(){
	var loader = $('.loader');
	var loaderBG = $('.loaderBG');
	var winHei = $(window).height();
	var docHei = $(document).height();
	var docWid = $(document).width();
	var popWid = 100;
	var popHei = 100;
	var popT = (winHei - popHei)/2;
	var popL = (docWid - popWid)/2;
	loader
	.html('<img style="margin-top:32px;" src="/images/ajax_loader.gif" alt="Loading" />')
	.css({'position': 'absolute', 'top': popT+'px', 'left': popL+'px', 'width': popWid+'px', 'height': popHei+'px', 'z-index': 100, 'background':'#FFF', 'text-align': 'center', '-moz-border-radius': '8px', '-webkit-border-radius': '8px', 'border': '5px solid #333'}).fadeIn();
	loaderBG
	.css({'position': 'absolute', 'top': '0px', 'left': '0px', 'z-index': 50, 'background': '#000', 'opacity': 0.5, 'width': docWid+'px', 'height': docHei+'px'})
	.fadeIn(500)
	.click(function(){
		loader.fadeOut();
		$(this).fadeOut(500);
	});
}
function hide_loader(){
	var loader = $('.loader');
	var loaderBG = $('.loaderBG');
	loader.hide();
	loaderBG.hide();
}

function update_click(id) {
	if(id=="") {
		return;
	}
	$.ajax({
		url: "test.php",
		global: false,
		type: "POST",
		data: ({id_value : id}),
		dataType: "html"
	});
}
/*
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-23144349-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
*/
