url = "http://www.placeconnect.com/ajax_handlers/";
var url = "http://" + document.domain + "/ajax_handlers/";
function checkuncheck(name,controller,form){
	eval("name = document."+form+".elements['"+name+"']");
	name.checked = controller.checked;
	for (i = 0; i < name.length; i++)  {
     name[i].checked = controller.checked;  
    } 
}
function ext_place(obj)
{
  	jQuery("#ext_place").val(obj.id);
	//array('place_name' => true,'country' => false,'town' => true,'address_1' => false,'address_2' => false,'postcode' => false);
	//console.debug()
	//console.log('working')
	var a = new Array('#country','#town','#address_1','#address_2','#postcode','#university_name','#course_name','#conference_name','#artist_name','#groom/bride_name')
	var b = new Array('#country_1','#town_1','#address_1_1','#address_2_1','#postcode_1','#university_name_1','#course_name_1','#conference_name_1','#artist_name_1','#groom/bride_name_1')	//jQuery('#country,#town,#address_1,#address_2,#postcode,#university_name,#course_name,#conference_name,#artist_name,#groom/bride_name').attr('disabled','1');
	jQuery.each(a,function(){
	  eval("var el = jQuery('"+this+"')");
	  el.attr('disabled','disabled').val('This field is disabled') 
	})
	jQuery.each(b,function(){
	  eval("var el = jQuery('"+this+"')");
	  el.attr('disabled','disabled').val('This field is disabled') 
	})
	jQuery('#town,#town_1').removeClass();
	jQuery('#country_1,#town_1,#address_1_1,#address_2_1,#postcode_1,#university_name_1,#course_name_1,#conference_name_1,#artist_name_1,#groom/bride_name_1').attr('disabled','1');
	nStyle('3')
	
}

function currentDate(inp)
{
  if(inp.checked == true){
	  document.form1.toyear.disabled = 1;
	  document.form1.tomonth.disabled = 1;
	  document.form1.today.disabled = 1;
  	  document.form1.toyear.value = '00';
	  document.form1.tomonth.value = '00';
	  document.form1.today.value = '00';
  }else{
	  document.form1.toyear.disabled = 0;
	  document.form1.tomonth.disabled = 0;
	  document.form1.today.disabled = 0;
  	  //document.form1.to.value = '';
  }
}

function didYouMean(id)
{
	/*var text = document.getElementById('place_ex')[document.getElementById('place_ex').selectedIndex].value;
	new Ajax.Request('ajax_handlers/didyoumean.php?text=' + text,
	{
	method:'get',
	onSuccess: function(transport){
	  var response = transport.responseText || "no response text";
	  alert("Success! \n\n" + response);
	},
	onFailure: //function(){ alert('Something went wrong...') }
	});*/
	
}
function fetch_sub(id)
{
	var s  = 'type' + id;
	var o = 'sub_' + id;
	var data = document.getElementById(s)[document.getElementById(s).selectedIndex].value;
	new Ajax.Request('ajax_handlers/get_sub_type.php?parent=' + data,
	{
	method:'get',
	onSuccess: function(transport){
	  var response = transport.responseText || "";
	   
	  document.getElementById(o).innerHTML = response ;
	 
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
	
}
function nStyle(n)
{
  switch(n)
  {
	  case '1':
	    jQuery('.h_1').attr('class','h_2');
	  ;break;
	  case '2':
	    jQuery('.h_2').remove();
	  ;break;
	  case '3':
	    jQuery('#getting_started').show();
	    jQuery('#getting_started').attr('disabled',0);
		//jQuery('.getting_started').attr('disabled','1')
	  ;break;
	  
  }
  
}
function fetch_form(sel,id)
{
	var o = 'fields' + id;
	//alert(o);
	var type = sel[sel.selectedIndex].value;
	new Ajax.Request('ajax_handlers/get_form.php?type=' + type + '&i=' + id,
	{
	method:'get',
	onSuccess: function(transport){
	  var response = transport.responseText || "";
	   //alert(response);
	  document.getElementById(o).innerHTML = response ;
	  var options = {
		script:'fetch_places.php?json=true&limit=6&',
		varname:'input',
		json:true,
		shownoresults:true,
		maxresults:16,
        minchars:3,
        callback: function(obj){ ext_place(obj)}
		};
		var json = new AutoComplete('place_name',options)
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
	
}

function status_form()
{
	var o = 'status_wrapp';
	//alert(o);
	var el = jQuery('.switch');
	el.next('div').slideDown();
	el.changeStyle();
	new Ajax.Request('ajax_handlers/profile_handlers.php?job=status_edit',
	{
		method:'get',
		evalJS: 'force',
		onSuccess: function(transport){
			var response = transport.responseText || "";
			document.getElementById(o).innerHTML = response ;
			jQuery("#status_edit_input").focus();
			
			jQuery("#status_edit_input").blur(function(){
				jQuery("#status_edit_form").submit();
			});			
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
	
}

function profile_form()
{
	var o = 'profile_wrapp';
	//alert(o);
	var el = jQuery('.switch');
	//el.next('div').slideDown();
	//el.changeStyle();
	new Ajax.Request('ajax_handlers/profile_handlers.php?job=edit',
	{
		method:'get',
		evalJS: 'force',
		onSuccess: function(transport){
			var response = transport.responseText || "";
			//alert(response);
			document.getElementById(o).innerHTML = response ;
			/*jQuery("#datePicker").datepicker({
			onSelect : function(date){jQuery(this).hide();},
			altField : '#picker',
			altFormat : 'dd/mm/yy',
			dateFormat : 'dd/mm/yy',
			maxDate : 'today',
			//defaultDate : '01/08/2006',
			closeText : 'X',
			showAnim: 'fold',
			showOn: 'both'	
			}); 
			//jQuery("#datePicker").dpClose();
			jQuery('#picker').bind('click',function(){ 
			var v = $('picker').value;	
			jQuery("#datePicker").show();
			/*jQuery("#datePicker").datepicker({
			onSelect : function(date){jQuery(this).hide();},
			altField : '#picker',
			altFormat : 'dd/mm/yy',
			dateFormat : 'dd/mm/yy',
			maxDate : 'today',
			//defaultDate : '01/08/2006',
			closeText : 'X'	
			}); 
			jQuery("#datePicker").datepicker('setDate' , '01/08/2006' );
			})*/
	  var today = new Date();
	  var end = today.getFullYear() - 5;
	  new Date()
	 	 add_picker('picker',new Array(end, '1' , '26'),new Array('1900', '1' , '26'),false);
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
	
}


function comment_form()
{
	var o = 'comment_wrapp';
	var el = jQuery('.switch');
	el.next('div').slideDown();
	el.changeStyle();
	new Ajax.Request('ajax_handlers/comment_handlers.php?job=add',
	{
		method:'get',
		evalJS: 'force',
		onSuccess: function(transport){
			var response = transport.responseText || "";
			document.getElementById(o).innerHTML = response ;
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
	
}

function add_place()
{
	var o = 'new_place';
	//alert(o);
	new Ajax.Request('ajax_handlers/places_handler.php?job=new',
	{
	method:'get',
	onLoading: document.getElementById(o).innerHTML = '<div style="text-align:center"><img src="images/ajax-loader.gif" /></div>' ,
	onSuccess: function(transport){
	  var response = transport.responseText || "";
	   //alert(response);
	  document.getElementById(o).innerHTML = response ;
	  new Validation('form1');
      var targetOffset = jQuery('#new_place').offset().top;
      jQuery('html,body').animate({scrollTop: targetOffset}, 1000);
	  var options = {
		script:'fetch_places.php?json=true&limit=6&',
		varname:'input',
		json:true,
		shownoresults:true,
		maxresults:16,
        minchars:3,
        callback: function(obj){ ext_place(obj)}
		};
		var json = new AutoComplete('place_name',options)
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
}

function filter_place(type,userId)
{
	// 'past','present','future'
	for(i=0;i<=3;i++){
		if(i==type){
			jQuery('#filter_place_'+i).css('color','#D08C29');
		}
		else{
			jQuery('#filter_place_'+i).css('color','#000000');
		}
		
	}
	
	var o = 'place_list';
	new Ajax.Request('ajax_handlers/places_handler.php?job=filter&filter='+type+'&userId='+userId,
	{
	method:'get',
	onLoading: document.getElementById(o).innerHTML = '<div style="text-align:center"><img src="images/ajax-loader.gif" /></div>' ,
	onSuccess: function(transport){
	  var response = transport.responseText || "";
	  document.getElementById(o).innerHTML = response ;
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
}

function load_edit(id)
{
	var o = 'place_list';
	var target = $(o);
	var targetOffset = jQuery('#form1').offset().top;
     jQuery('html,body').animate({scrollTop: 0}, 1000);
	//alert(o);
	new Ajax.Request('ajax_handlers/places_handler.php?job=edit&place=' + id  ,
	{
	method:'get',
	onLoading: target.innerHTML = '<div style="text-align:center"><img src="images/ajax-loader.gif" /></div>' ,
	onSuccess: function(transport){
	  var response = transport.responseText || "";
	   //alert(response);
	  target.innerHTML = response ;
	  /****/
	  var today = new Date();
	  var end = today.getFullYear() + 5;
	  //alert(end);
	 //add_picker('from',new Array(end, '1' , '26'),new Array('1900', '1' , '26'),true);
	 //add_picker('to',new Array(end, '1' , '26'),new Array('1900', '1' , '26'),true);
	 //alert($('toyear').value +"-"+ $('tomonth'). +"-"+ $('today').getValue())
	 if($('toyear').value == '0000' && $('tomonth').value == '00' && $('today').value == '00'){
	   $('current').checked = 1;
	   document.form1.toyear.disabled = 1;
	   document.form1.tomonth.disabled = 1;
	   document.form1.today.disabled = 1;
	 }
	  /****/
	  new Validation('form1');
     
	},
	onFailure: function(){ alert('Something went wrong...') }
	});
}

function edit()
{
	var o = 'place_list';
	var target = $(o);
	var targetOffset = jQuery('#form1').offset().top;
     jQuery('html,body').animate({scrollTop: 0}, 1000);
	//alert(o);
     
	var from = $('fromday').value+'-'+$('frommonth').value+'-'+$('fromyear').value;
	var to = $('today').value+'-'+$('tomonth').value+'-'+$('toyear').value;

	var id = $('id').value;
	
	new Ajax.Request(
		'ajax_handlers/places_handler.php?job=edit-do&place=' + id + '&from='+from+'&to='+to,
		{
			method:'get',
			onLoading: function(){
				var o = 'place_list';
				var target = $(o);			
				target.innerHTML = '<div style="text-align:center"><img src="images/ajax-loader.gif" /></div>';
			}
			,
			onSuccess: function(transport){
				var response = transport.responseText || "";
				var o = 'place_list';
				var target = $(o);				
				target.innerHTML = response;
			},
			onFailure: function(){ alert('Something went wrong...'); }
		}
	);

	return false;
}



function add_picker(id,maxD,minD,im)
{
//maxD new Array(yyyy,m,d)
//minD new Array(yyyy,m,d)

var range = minD[0] + ':' + maxD[0] ; /*'1900:2008'*/
if(minD.length==0)minD = new Date();else minD = new Date(minD[0],minD[1]-1,minD[2]);
if(maxD.length==0)maxD = new Date();else maxD = new Date(maxD[0],maxD[1]-1,maxD[2]);
var d = jQuery('#'+id).val();

//alert(d);
if(d == 'Current' || d == ''){
	var today = new Date();
	d = today.getDay() + '/' + (today.getMonth() + 1) + "/" + today.getFullYear();
}

var r = d.split('/');
//alert(r);
//var r = new Array('1945','05','15');
//jQuery('#picker').datepick({defaultDate: new Date(r[0], r[1], r[2])});

if(im == false){
	jQuery('#'+id).datepick({defaultDate: new Date(r[2], r[1]-1, r[0]),dateFormat:'dd/mm/yy', maxDate: maxD,minDate : minD,yearRange: range });
}else{
	jQuery('#'+id).datepick({defaultDate: new Date(r[2], r[1]-1, r[0]),dateFormat:'dd/mm/yy', maxDate: maxD,minDate : minD,yearRange: range,buttonImageOnly: true,buttonImage: '../images/calendar.jpg',showOn: 'both' });
}
jQuery('.buttonDisable').toggle(function() { 
        jQuery(this).text('Enable').siblings('.datepicker').datepick('disable'); 
    }, 
    function() { 
        jQuery(this).text('Disable').siblings('.datepicker').datepick('enable'); 
    } 
); 
 
jQuery('.removeDatepicker').toggle(function() { 
        jQuery(this).text('Re-attach').siblings('.datepicker').datepick('destroy'); 
    }, 
    function() { 
        jQuery(this).text('Remove').siblings('.datepicker').datepick(); 
    } 
);

}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function search_place(b)
{
  var town = jQuery("#p_town").val();
  var type = jQuery("#p_type").val();
  //var url = "http://" + document.domain + "/ajax_handlers/";
  var addr = url + "places_handler.php";
  if(jQuery.isArray(b)){
	type = b[0];town = b[1];  
  }
  var p = url + "places_handler.php";
  jQuery.get(p,{town : town,type:type,job:"search"},
	  function(data){
		  jQuery(".midColumn").html(data);
		  //window.location.hash = "type=" + type + "&town=" + town  ;
	  }
	  
  )
}
function get_to_array(data)
{
	var array = new Array();
	var arr = data.split("&");
	for(var i = 0;i<arr.length;i++){
	  var d = arr[i].split("=");
	  //alert(d[0] + d[1]);
	  //var a = d[0];

	  eval ("array['" + d[0] + "'] = '" + d[1] +"'" );
	}
	return array;
}
function openWin(win,id)
{
   var p = url + "user_handler.php";
   jQuery("body").append('<img src="images/ajax-loader.gif" id="loader"/>');center("#loader");
   //jQuery(".mask").height(jQuery("body").outerHeight()).width(jQuery("body").outerWidth());
   /*document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');*/
   jQuery.get(p,{id : id,job:'connect_form'},
	  function(data){
		  //jQuery(".mask").after(data);
		  jQuery("body").append(data);
		  jQuery("#loader").remove();
		  var el = jQuery(".connect_wrapp");
		  center(".connect_wrapp");
		  el.slideDown(1200);
		  /**/
		  jQuery('#close').bind('click',function(){el.remove();});
		  jQuery('#connect').bind('click',function(){connect(id)});
		  //window.location.hash = "type=" + type + "&town=" + town  ;
  })
}


function connectConfirm(id,el)
{
   jQuery(".connect_wrapp").remove();
   var p = "http://www.placeconnect.com/profile/small_profile";
   
   jQuery.get(p,{id : id},
	  function(data){
		  jQuery(".mask").after(data);
		  jQuery("body").append(data);
		  var el = jQuery(".connect_wrapp");
		  el.slideDown(1200);
		  center(".connect_wrapp");
		  jQuery('#close').bind('click',function(){el.remove();
		  });
		  jQuery('#cancel').bind('click',function(){el.remove();
		  });
	})

}


function connect(id,el)
{
   jQuery(".connect_wrapp").remove();
   var p = url + "user_handler.php";
   
   jQuery.get(p,{id : id,job:'connect'},
	  function(data){
		  //jQuery(".mask").after(data);
		  //jQuery("body").append(data);
		  //var el = jQuery(".connect_wrapp");
		  //el.slideDown(1200);
		  //center(".connect_wrapp");
		  //jQuery('#close').bind('click',function(){el.remove();});
		  //window.location.hash = "type=" + type + "&town=" + town  ;
		  
		   /*
		   jQuery.get('http://www.placeconnect.com/profile/small_profile',{id : id},
			  function(data){
	   			var response = data;
	   			jQuery(el).replaceWith('<span class="orange">'+response+'<br/>Connection request has been sent.</span>');
			  }
		   );		  
		   */		  
		  
		  jQuery(el).replaceWith('<span class="orange">Connection request has been sent.</span>');
  })

}

function connectJudge(id,el)
{
   jQuery(".connect_wrapp").remove();
   var p = url + "user_handler.php";
   
   jQuery.get(p,{id : id,job:'connectJudge'},
	  function(data){
	   	top.location = '/member_home/my_friends';
  })

}

function refinePeopleList(id)
{
	var placeStart = jQuery('#placeStart')[0].value;
	var placeEnd = jQuery('#placeEnd')[0].value;
	jQuery("#placeFilter")[0].checked=false;
	
	jQuery(".connect_wrapp").remove();
	var p = url + "user_handler.php";
   
	jQuery.get(p,{id: id,place_start: placeStart,place_end: placeEnd,job:'refine_people_list'},	   
		function(data){
			jQuery('#people').html(data);
		}
	);
}


function simpleRefinePeopleList(id)
{
	var placeStart = jQuery('#simplePlaceStart')[0].value;
	var placeEnd = jQuery('#simplePlaceEnd')[0].value;

	jQuery(".connect_wrapp").remove();
	var p = url + "user_handler.php";
   
	if(jQuery("#placeFilter")[0].checked==true){
		jQuery.get(p,{id: id,place_start: placeStart,place_end: placeEnd,job:'refine_people_list'},
				
			function(data){
				jQuery('#people').html(data);
			}
		);
	}
	else{
		jQuery.get(p,{id: id,place_start: 'undefined',place_end: 'undefined',job:'refine_people_list'},
				
				function(data){
					jQuery('#people').html(data);
				}
			);		
		
	}
}

function judge(v,id)
{
	var p = url + "user_handler.php";
	   jQuery.get(p,{id : id,job:'judge',v:v},
		  function(data){
			  //jQuery(".mask").after(data);
			  jQuery(".midColumn").html(data);			  
	  })
}
function did_you_mean()
{
	var p = url + "places_handler.php";
	var w = jQuery("#place_name").val();
	   jQuery.get(p,{job:'spell',word: w},
		  function(data){
			  //jQuery(".mask").after(data);
			  alert(data);
			  //jQuery(".midColumn").html(data);			  
	  })
}
function show_email(id)
{
   var el = jQuery('#'+id);
   var p = url + "message_handler.php";
   jQuery.post(p,{id : id,job:'show'},
	  function(data){
		  //alert(el.parent('div').html());
		  //el.parent().after(data);
		  //alert(el.parent().html());
		  el.parent().after(data);
		  //el.after(data);
		  el.attr('href','javascript:void(0)');
		  el.bind('click',function(){el.parent().next('div').slideToggle()})
		  //jQuery(".mask").after(data);
		  //jQuery("body").append(data);
		  //var el = jQuery(".connect_wrapp");
		  //el.slideDown(1200);
		  //center(".connect_wrapp");
		  //jQuery('#close').bind('click',function(){el.remove();});
		  //window.location.hash = "type=" + type + "&town=" + town  ;
  })
}

function no_connections()
{
	alert('Please add some connections first before trying to send a new message!');
	top.location = '/member_home/my_friends';
}

jQuery(document).ready(function(){
  jQuery("#search").bind('click',function(){search_place();return false;})
  if(window.location.hash != ''){
		var b = get_to_array(window.location.hash.replace("#",""));
		search_place(b);
		//alert(b['category'])
			//for(x in b)alert(x+':'+b[x]);
  }
  
});

function center(el)
{
	$el = jQuery(el);
	$el.css('position','absolute');
	var pos = {
       sTop : function() {
         return window.pageYOffset || jQuery.boxModel &&
document.documentElement.scrollTop ||   document.body.scrollTop;
       },
       wHeight : function() {
         if ( jQuery.browser.opera || (jQuery.browser.safari && parseInt
(jQuery.browser.version) > 520) ) {

return window.innerHeight - ((jQuery (document).height() >

window.innerHeight) ? getScrollbarWidth() : 0);
                } else if ( jQuery.browser.safari ) {
                        return window.innerHeight;
                }       else {
           return jQuery.boxModel && document.documentElement.clientHeight
|| document.body.clientHeight;
         }
       }
     };
	
	
	$el.css('top', pos.sTop() + (pos.wHeight() / 2) - (/*$el.height()*/200 / 2));  
	$el.css('left', jQuery(window).width()/2-$el.width()/2);  
}