var IntoIndia = 
{
	Page:
	{
		/*map: "",*/
		timer: 0,
		timer2: 0,
		timer3: 0,
		galleries: [],
		loaded: false,
		drawn: false,
		
		init: function()
		{  
			$.preLoadImages(
				"/media/nav-bg-over.png",
				"/media/nav-bg.png",
				"/media/logo.png",
				"/media/mountain-bg.jpg",
				"/media/slideshow-nav-bg.png",
				"/media/slideshow-nav-bg-over.png",
				"/media/content-gradient.png",
				"/media/content-gradient2.png"
			);	
			
			if($("#gallery").length)
			{
				$("#loading_gallery").show();
				
				$("<div/>").attr(
				{
					"id":"slideshow_nav_container"
				}).appendTo($("#gallery"));
							
				$("<ul/>").addClass("slideshow_nav").appendTo($("#slideshow_nav_container"));
			
				$.getJSON("../functions/get-photos.php",function(json)
				{
					var nav_items = 0;
					
					var nav_item_names = new Array("one","two","three","four","five","six","seven","eight","nine","ten");

					$.each(json.Gallery,function(counter,gallery)
					{
						if(json.Gallery[counter].photos.length > 1)
						{
							$("<div/>").css(
							{
								"backgroundImage":"url('" + json.Gallery[counter].photos[0] + "')",
								"backgroundPosition":"center center"
							}).appendTo($("#slideshow" + counter));
								
								
								
								
								
							$("#slideshow" + counter + " div:first").addClass("active");
								
							IntoIndia.Page.galleries.push(counter);
							
							$("<div/>").addClass("slideshow").attr(
							{
								"id":"slideshow" + counter
							}).appendTo($("#gallery"));
							
							$(".slideshow").hide();
				
							
							
							$("<li/>").append(
								$("<a/>").attr(
								{
									"id":"ss" + counter,
									"href":"" + json.Gallery[counter].path,
									"title":"",
									"rel":"follow"
								}).bind("mouseover",function()
								{
									IntoIndia.Page.loadGallery(counter);
								}).append(json.Gallery[counter].title)
							).appendTo($(".slideshow_nav"));
					
					
					
					
							$.each(json.Gallery[counter].photos,function(i,photo)
							{
								$.preLoadImages(photo);
							
								$("<div/>").css(
								{
									"backgroundImage":"url('" + photo + "')",
									"backgroundPosition":"center center"
								}).appendTo($("#slideshow" + counter));
								
								$("#slideshow" + counter + " div:first").addClass("active");
							});
							
							nav_items++;
						}
												
						$("#gallery").css(
						{
							"border":"0px"
						});
					});
					
					$("ul.slideshow_nav").addClass("" + nav_item_names[nav_items - 1]);
					
					$(".slideshow:first").show();
					
					$("#loading_gallery").hide();
					
				
					IntoIndia.Page.timer = setInterval("IntoIndia.Page.playGallery(" + IntoIndia.Page.galleries[0] + ")",3000);
				});
			}	
			
			if($(".client-testimonials").length)
    		{  
    			$("#loading_client_testimonials").cycle(
				{
        			fx:"fade",
        			prev:"#prev_control2",
        			next:"#next_control2",
        			cleartype:1,
        			timeout:0
    			});
			}   
			
			if($(".freshboxcontent").length)
			{
				$(".freshboxcontent").cycle(
				{
        			fx:"fade",
        			prev:"#prev_control",
        			next:"#next_control",
        			cleartype:1,
        			timeout:0
    			});
			}
			
			if($(".search-results").length)
			{
				$("#trip_from_date,#trip_to_date").datepicker(
				{ 
					dateFormat: "dd-mm-yy", 
					inline: true, 
					changeMonth: true, 
					changeYear: true,
					onSelect: function(dateText,inst) 
					{
						if(inst.id == "trip_from_date")
						{
							$("#trip_to_date").val("To Date");
						}
						
						if(inst.id == "trip_to_date")
						{
							var dateParts = $("#trip_to_date").val().split("-");
							
							var t_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
							
							var dateParts = "";
							
							dateParts = $("#trip_from_date").val().split("-");
							
							var f_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
							
							if(t_d < f_d)
							{
								IntoIndia.Page.showMessage("Sorry, the To Date cannot come before the From Date");
								
								$("#trip_to_date").val("To Date");
							}
						}
					}
				});	
			}
			
			if($("#q1,#q2,#q3,#q4,#q5").length)
			{
				$("input[name=q1]").click(function()
				{
 					var selection = $(this).val();
				
					if(selection == "yes")
					{
						$("#q1mc").show();
					}
					else
					{
						$("#q1mc").hide();
					}
				});

				$("input[name=q2]").click(function()
				{
 					var selection = $(this).val();
				
					if(selection == "yes")
					{
						$("#q2mc").show();
					}
					else
					{
						$("#q2mc").hide();
					}
				});
				
				$("input[name=q3]").click(function()
				{
 					var selection = $(this).val();
				
					if(selection == "yes")
					{
						$("#q3mc").show();
					}
					else
					{
						$("#q3mc").hide();
					}
				});
				
				$("input[name=q4]").click(function()
				{
 					var selection = $(this).val();
				
					if(selection == "yes")
					{
						$("#q4mc").show();
					}
					else
					{
						$("#q4mc").hide();
					}
				});
				
				$("input[name=q5]").click(function()
				{
 					var selection = $(this).val();
				
					if(selection == "yes")
					{
						$("#q5mc").show();
					}
					else
					{
						$("#q5mc").hide();
					}
				});																			
			}
			
			if($(".tabs").length)
			{
				$(".tab_content").hide();
				
				$("ul.tabs li:first").addClass("active").show();
				
				$(".tab_content:first").show();
			
				$("ul.tabs li").hover(function()
				{
					if(!$(this).hasClass("active"))
					{
						$(".tab_content").hide();
					
						$("ul.tabs li").removeClass("active");
					
						var activeTab = $(this).find("a").attr("href");
					
						$(activeTab).fadeIn();
					
						$(this).addClass("active");
				
						return false;
					}
				},
				function()
				{
					return false;
				});
			}				
			
			$(".anchor").hide();
		
			$("a").filter(function()
			{
				return this.hostname && this.hostname !== location.hostname;
			})
			.click(function()
			{
				window.open(this.href);
			
				return false;
			});
			
			if($(".faq").length)
			{
				$(".faq li").css({opacity: 0});
				
				$(".faq li").each(function(i)
				{
					var me = $(this);
					
					setTimeout(function()
					{
						me.delay(300).animate(
						{
							opacity: 1
						}, 850);
					}, i * (170));
				});
			}
			
			if($(".pages").length)
			{
				$(".pages ol li").css({opacity: 0});
				
				$(".pages ol li").each(function(i)
				{
					var me = $(this);
					
					setTimeout(function()
					{
						me.delay(300).animate(
						{
							opacity: 1
						}, 850);
					}, i * (170));
				});
			}
			
			if($(".custom_trip").length)
			{
				$("input.checked").attr("checked",true);	
				
				$("#trip_from_date").val("From Date");
				$("#trip_to_date").val("To Date");
				$("#tr_trip_from_date,#tr_trip_to_date").hide();
				
				$("#fullname,#email,#telephone").val("");
		
				$("#trip_from_date,#trip_to_date").datepicker(
				{ 
					dateFormat: "dd-mm-yy", 
					inline: true, 
					changeMonth: true, 
					changeYear: true,
					onSelect: function(dateText,inst) 
					{
						if(inst.id == "trip_from_date")
						{
							$("#trip_to_date").val("To Date");
						}
						
						if(inst.id == "trip_to_date")
						{
							var dateParts = $("#trip_to_date").val().split("-");
							
							var t_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
							
							var dateParts = "";
							
							dateParts = $("#trip_from_date").val().split("-");
							
							var f_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
							
							if(t_d < f_d)
							{
								IntoIndia.Page.showMessage("Sorry, the To Date cannot come before the From Date");
								
								$("#trip_to_date").val("To Date");
							}
						}
					}
				});
			
				if(!Modernizr.input.placeholder)
				{
					$("input[type=date],input[type=text]").focus(function()
					{ 
    					if($(this).val() == $(this).attr("defaultValue"))
    					{
      						$(this).val("");
    					}
  					});
  
  					$("input[type=date],input[type=text]").blur(function()
  					{
    					if($(this).val() == "")
    					{
    		 		 		$(this).val($(this).attr("defaultValue"));
    					} 
  					});				
  				}
  				
  				$("input:radio[id=dates_are_specific]").bind("click",function()
				{
					if($(this).val() == "yes")
					{
						$("#trip_from_date").val("From Date");
						$("#trip_to_date").val("To Date");
						$("#tr_trip_from_date,#tr_trip_to_date").show();
					}
					else
					{
						$("#tr_trip_from_date,#tr_trip_to_date").hide();
					}
				});
			
				$("#sortable1 li").css({opacity: 0});
				
				$("#sortable1 li").each(function(i)
				{
					var me = $(this);
					
					setTimeout(function()
					{
						me.delay(300).animate(
						{
							opacity: 1
						}, 850);
					}, i * (170));
				});
			
				$("#sortable1 li span").hide();
			
				$("ul.droptrue").sortable(
				{
					cursorAt:"top",
					placeholder: "ui-state-highlight",
					connectWith: "ul",
					opacity: 0.8,
					update:function(event,ui)
					{
						$("#sortable1 li .clip,#sortable2 li span").show();
						$("#sortable2 li .clip,#sortable1 li span,").hide();		
						
						$("#sortable2 li h4").append
						(
							$("<input/>").attr(
							{
								"type":"hidden",
								"name":"selected_trips[]",
								"value":ui.item[0]['id']
							})
						);			
					}
				});
				
				$("#sortable1,#sortable2").disableSelection();
				
				var $h1 = $("#sortable1").height();
				
				$("#sortable2").css("height",$h1);
			}
			
			if($("#call_to_action").length)
			{
				$("#call_to_action").fancybox();	
			}
				
				
				
				
			/*			
			if($(".row .group").length)
			{			
				$(".row .group").css({opacity: 0});
				
				$(".row .group a:first-child").css({"display":"block"});
				
				$(".row .group").each(function(i)
				{
					if($(".row .group a").length > 0)
					{					
						var me = $(this);
						
						setTimeout(function()
						{
							me.delay(300).animate(
							{
								opacity: 1
							}, 850);
						}, i * (170));
					}
				});
			
				$(".row .group a img").css(
				{
					"opacity":0.5, 
					"visibility":"visible",
					"border":"1px solid rgb(119,119,119)"
				});
			
				$(".row .group a img").hover(function() 
				{
					$(this).stop().animate({opacity: 1}, 200);
				}, 
				function() 
				{
					$(this).stop().animate({opacity: 0.5}, 300);
				});
			}
			*/
			
			
			
			
			
			
			
			if(("img.difficulties").length)
			{
				$("img.difficulties").css(
				{
					"opacity":0.5, 
					"visibility":"visible"
				});
			
				$("img.difficulties").hover(function() 
				{
					$(this).stop().animate({opacity: 1}, 200);
				}, 
				function() 
				{
					$(this).stop().animate({opacity: 0.5}, 300);
				});
			}
			
			if($(".why-us-sub-pages").length)
			{
				$(".why-us-sub-pages ol li").css({opacity: 0});
				
				$(".why-us-sub-pages ol li").each(function(i)
				{
					var me = $(this);
					
					setTimeout(function()
					{
						me.delay(300).animate(
						{
							opacity: 1
						}, 850);
					}, i * (170));
				});
			}
			
			if($(".blog_content").length)
			{
				$(".blog_content .blog-posts-content").css({opacity: 0});
				
				$(".blog_content .blog-posts-content").each(function(i)
				{
					var me = $(this);
					
					setTimeout(function()
					{
						me.delay(300).animate(
						{
							opacity: 1
						}, 850);
					}, i * (170));
				});
			}
						
			if($("#trip_search").length)
			{
				IntoIndia.Page.popularSearchFields();
				
				if(!Modernizr.input.placeholder)
				{
					$("input[type=date],input[type=text]").focus(function()
					{ 
    					if($(this).val() == $(this).attr("defaultValue"))
    					{
      						$(this).val("");
    					}
  					});
  
  					$("input[type=date],input[type=text]").blur(function()
  					{
    					if($(this).val() == "")
    					{
    		 		 		$(this).val($(this).attr("defaultValue"));
    					} 
  					});				
  				}
			}
			
			if($(".autofade").length)
			{
				setTimeout(function()
				{
		  			$(".autofade").fadeOut().slideUp("slow"); 
		    	}, 
		    	4000);	
			}
						
			if($(".search-results-content").length)
			{
				$("#loading_search_results").hide();
			
				$(window).scroll(function()
				{
					if($(this).scrollTop() == ($(document).height() - $(this).height()))
					{
						IntoIndia.Page.loadMoreSearchResults($(".search-results-content:last").attr("id"));
					}
				});
			} 
			
			if($(".indian_map_outline").length)
			{
				$.ajax(
				{
	   				type:"POST",
	   				url:"../functions/get-regions-all.php"
	   			});
				
				$("#goa,#delhi,#himachal-pradesh,#ladakh,#uttarakhand,#west-bengal,#arunachal,#rajasthan,#sikkim,#kerala,#tamil-nadu,#karnataka,#madhya-pradesh,#uttar-pradesh").each(function()
				{
					$(this).qtip(
					{
						live:true,
						show: 
						{ 
							effect: 
							{ 
								type:"fade", 
								length:500
							} 
						},
						hide: 
						{ 
							effect: 
							{ 
								type:"fade", 
								length:200
							} 
						},
						content: 
						{
							url:"../regions/" + $(this).attr("id") +".txt"
						},
						position:
						{
							adjust:
							{
								x:-255,
								y:-300,
								mouse:true 
							},
							target:"mouse",
							scroll:true
						},
						style:
						{
							width:500,
							border:
							{
								width:2,
								color:"rgb(111,111,111)"
							},
							padding:5,
							'background-image':'url("/media/content-gradient.png")',
							color:"rgb(119,119,119)",
							textShadow:"none",
							textAlign:"left"
						}
					});
				});
			}
			
			if($(".blog-posts-content").length)
			{
				$("#loading_blog_posts").hide();
			}
			
			$("#load_more_blog_posts").click(function()
			{ 
				IntoIndia.Page.loadMoreBlogPosts($(".blog-posts-content:last").attr("id"));
			});

			if($(window).height() < $(document).height())
			{
				$(".anchor").fadeIn("slow",function()
				{
					$(".anchorLink").anchorAnimate(); 
				});
			}
			
			if($(".why-us-sub-pages article").length)
			{	
				$(".why-us-sub-pages article").slideUp(500);
			}
			
			if($("frmContactForm").length)
			{
				if(!Modernizr.input.placeholder)
				{
					$("input[type=text]").focus(function()
					{ 
	    				if($(this).val() == $(this).attr("defaultValue"))
	    				{
	      					$(this).val("");
	    				}
	  				});
	  
	  				$("input[type=text]").blur(function()
	  				{
	    				if($(this).val() == "")
	    				{
	    		 	 		$(this).val($(this).attr("defaultValue"));
	    				} 
	  				});
				}
			}
			
			if($("#adventures_gallery").length)
			{
				$("#adventures_gallery").cycle(
				{
					fx:"fade",
					cleartype:1
				}); 
			}
			
			setTimeout(function()
			{
		  		$.preLoadImages(	
					"/media/india_map_outline_with_regions.png",
					"/media/arunachal.png",
					"/media/delhi.png",
					"/media/goa.png",															
					"/media/himachal-pradesh.png",	
					"/media/karnataka.png",	
					"/media/kerala.png",	
					"/media/ladakh.png",
					"/media/madhya-pradesh.png",
					"/media/rajasthan.png",
					"/media/sikkim.png",	
					"/media/tamil-nadu.png",
					"/media/uttar-pradesh.png",
					"/media/uttarakhand.png",
					"/media/west-bengal.png"
				);
			},20000);		
		},
		
		checkCustomerRecords: function(fullname)
		{
			$.ajax(
			{
				type:"POST",
				data:"fullname="+escape(fullname),
				url:"../../functions/get-customer-details.php",
				cache:false,
				success:function(data,textStatus)
			   	{
			   		if(data != "")
			   		{
			   			var details = data.split("=");
			   		
			   			$("#fullname").val(details[0]);
			   			$("#address").val(details[1]);
			   			$("#towncity").val(details[2]);
			   			$("#county").val(details[3]);
			   			$("#country_id").val(details[4]);
			   			$("#email").val(details[5]);
			   			$("#telephone").val(details[6]);
			   			$("#sex_id").val(details[7]);
			   			$("#dob").val(details[8]);
			   			$("#pass").val(details[9]);
			   			$("#nat").val(details[10]);
			   		}
			   		/*
			   		else
			   		{
			   			$("#fullname").val(fullname);
			   			$("#address").val("");
			   			$("#towncity").val("");
			   			$("#county").val("");
			   			$("#country_id").val("");
			   			$("#email").val("");
			   			$("#telephone").val("");
			   			$("#sex_id").val("");
			   			$("#dob").val("");
			   		}
			   		*/
			   	},
			   	error: function(XMLHttpRequest,textStatus,errorThrown)
			   	{
			   		IntoIndia.Page.showMessage(XMLHttpRequest.statusText + "\n\n" + textStatus + "\n\n" + errorThrown);
			   	}
			});
		},
		
		playGallery: function(num) 
		{
			var active = $("#slideshow" + num + " div.active");
	
			if(active.length == 0) 
			{
				active = $("#slideshow" + num + " div:last");
			}

			var next = (active.next().length) ? active.next() : $("#slideshow" + num + " div:first");

			active.addClass("last-active");
	
			next.css(
			{
				opacity: 0.0
			}).addClass("active").animate(
			{
				opacity: 1.0
			},1000,function() 
			{
				active.removeClass("active last-active");
			});	
		},
		
		loadGallery: function(counter)
		{    
			for(var i = 0; i < IntoIndia.Page.galleries.length; i++)
			{
				$("#slideshow" + IntoIndia.Page.galleries[i]).hide();	
			}
			
			$("#slideshow" + counter).show();
			
			clearInterval(IntoIndia.Page.timer);
				
			IntoIndia.Page.timer = setInterval("IntoIndia.Page.playGallery(" + counter + ")",3000);
		},
		
		bookingFormFieldsValidate: function() 
		{
			$("input").each(function(i,element) 
			{
				if(!$(element).val()) 
				{
					IntoIndia.Page.formFieldHelpShow(element,".fail","error");
				}
			})
			
			$("textarea").each(function(i,element) 
			{
				if(!$(element).val()) 
				{
					IntoIndia.Page.formFieldHelpShow(element,".fail","error");
				}
			})
				
			if($(".fail:visible").size() > 0) 
			{
				return false;
			}
			else
			{	
				var reference = $("input[id=reference]").val();
				var fullname = $("input[id=fullname]").val();
				var address = $("textarea[id=address]").val();
				var towncity = $("input[id=towncity]").val();
				var county = $("input[id=county]").val();
				var country_id = $("#country_id").val();
				var sex_id = $("#sex_id").val();
				var dob = $("input[id=dob]").val();
				var pass = $("input[id=pass]").val();
				var nat = $("input[id=nat]").val();
				var email = $("input[id=email]").val();
				var telephone = $("input[id=telephone]").val();
				
				var q1 = $("input[id=q1]:checked").val();
				var q2 = $("input[id=q2]:checked").val();
				var q3 = $("input[id=q3]:checked").val();
				var q4 = $("input[id=q4]:checked").val();
				var q5 = $("input[id=q5]:checked").val();
				
				var q1m = "";
				
				if($("input[id=q1]:checked").val() == "yes")
				{
					q1m = $("input[id=q1m]").val();
				}
				
				var q2m = "";
				
				if($("input[id=q2]:checked").val() == "yes")
				{
					q2m = $("input[id=q2m]").val();
				}
				
				var q3m = "";
				
				if($("input[id=q3]:checked").val() == "yes")
				{
					q3m = $("input[id=q3m]").val();
				}
				
				var q4m = "";
				
				if($("input[id=q4]:checked").val() == "yes")
				{
					q4m = $("input[id=q4m]").val();
				}
				
				var q5m = "";
				
				if($("input[id=q5]:checked").val() == "yes")
				{
					q5m = $("input[id=q5m]").val();
				}
				
				var q6 = $("input[id=q6]").val();
				var insurance = $("input[id=insurance]:checked").val();
			
				$.ajax(
				{
			   		type: "POST",
			   		url: "../../functions/create-booking.php",
			   		data: "reference="+escape(reference)+"&fullname="+escape(fullname)+"&address="+escape(address)+"&towncity="+escape(towncity)+"&county="+escape(county)+"&country_id="+escape(country_id)+"&sex_id="+escape(sex_id)+"&dob="+escape(dob)+"&nat="+escape(nat)+"&pass="+escape(pass)+"&email="+escape(email)+"&telephone="+escape(telephone)+"&q1="+escape(q1)+"&q2="+escape(q2)+"&q3="+escape(q3)+"&q4="+escape(q4)+"&q5="+escape(q5)+"&q6="+escape(q6)+"&q1m="+escape(q1m)+"&q2m="+escape(q2m)+"&q3m="+escape(q3m)+"&q4m="+escape(q4m)+"&q5m="+escape(q5m)+"&insurance="+escape(insurance),
			   		success: function(data,textStatus)
			   		{
			   			$("#tailormade_form").submit();
			   		},
			   		error: function(XMLHttpRequest,textStatus,errorThrown)
			   		{
			   			IntoIndia.Page.showMessage(XMLHttpRequest.statusText + "\n\n" + textStatus + "\n\n" + errorThrown);
			   		}
				});
			}
		},	
		
		bookingConfirmation: function(invoice)
		{
			$.ajax(
			{
		   		type: "POST",
		   		url: "../../../functions/booking-confirmation.php",
		   		data: "reference="+escape(invoice),
		   		success: function(data,textStatus)
		   		{
		  		},
		   		error: function(XMLHttpRequest,textStatus,errorThrown)
		   		{
		   			IntoIndia.Page.showMessage(XMLHttpRequest.statusText + "\n\n" + textStatus + "\n\n" + errorThrown + "\n\nPlease Contact Us");
				}
			});
			
			return false;
		},

		downloadBrochure: function(file)
		{
			var myTempWindow = window.open(file,"Download");
		},
		
		validateTailormadeTrip: function()
		{
			if($("#sortable2 li").length == 0)
			{
				IntoIndia.Page.showMessage("Sorry, your Trip Planner is empty");
				
				return false;
			}
			
			if($("#dates_are_specific:checked").val() == "yes")
			{
				if(!IntoIndia.Page.validateSearchData())
				{
					return false;
				}
			}
			
			if(IntoIndia.Page.formFieldsValidate())
			{
				return true;
			}
			else
			{
				return false;
			}
		},
		
		validateSearchAgainData: function()
		{
			if($("#trip_from_date").val() == "From Date")
			{
				IntoIndia.Page.showMessage("Sorry, please select the From Date");
				
				$("#trip_from_date").datepicker("show");
			
				return false;
			}
			else if($("#trip_to_date").val() == "To Date")
			{
				IntoIndia.Page.showMessage("Sorry, please select the To Date");
				
				$("#trip_to_date").datepicker("show");
				
				return false;
			}
			else if($("#adventure_type_id:checked").length > 0) 
			{	
				return true;
			}
			else
			{
				IntoIndia.Page.showMessage("Sorry, please select at least 1 Adventure Type");
			
				return false;
			}
		},
		
		validateSearchData: function()
		{
			if($("#trip_from_date").val() == "From Date")
			{
				IntoIndia.Page.showMessage("Sorry, please select the From Date");
				
				$("#trip_from_date").datepicker("show");
			
				return false;
			}
			else if($("#trip_to_date").val() == "To Date")
			{
				IntoIndia.Page.showMessage("Sorry, please select the To Date");
				
				$("#trip_to_date").datepicker("show");
				
				return false;
			}
			else
			{
				return true;
			}
		},
		
		popularSearchFields: function()
		{
			$("#trip_from_date").val("From Date");
			$("#trip_to_date").val("To Date");
			
			$("<option/>").attr("value",0).append("All Types").appendTo("#adventure_type_id");

			$.getJSON("../functions/get-adventure-types.php",function(json)
			{
				$.each(json.Adventures,function(counter,adventure)
				{
					$("<option/>").attr("value",this.id).append(this.title).appendTo("#adventure_type_id");
				});
			});
			
			$("#trip_from_date,#trip_to_date").datepicker(
			{ 
				dateFormat: "dd-mm-yy", 
				inline: true, 
				changeMonth: true, 
				changeYear: true,
				onSelect: function(dateText,inst) 
				{
					if(inst.id == "trip_from_date")
					{
						$("#trip_to_date").val("To Date");
					}
					
					if(inst.id == "trip_to_date")
					{
						var dateParts = $("#trip_to_date").val().split("-");
						
						var t_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
						
						var dateParts = "";
						
						dateParts = $("#trip_from_date").val().split("-");
						
						var f_d = new Date(dateParts[2], dateParts[1], dateParts[0]);
							
						if(t_d < f_d)
						{
							IntoIndia.Page.showMessage("Sorry, the To Date cannot come before the From Date");
							
							$("#trip_to_date").val("To Date");
						}
					}
				}
			});
		},
		
		toggleWhyUsSubBlock:function(block)
		{
			$(".why-us-sub-pages article").hide();
    		
			$(".why-us-sub-pages #" + block).slideDown(500,function()
			{
				$(this).show().fadeIn("fast");
			});
			
			clearTimeout(IntoIndia.Page.timer3);
			
			IntoIndia.Page.timer3 = setTimeout(function()
			{
				$(".why-us-sub-pages article").slideUp("fast");
			},1640000);
    	},
		
		updateClicks: function(id)
		{	
			$.ajax(
			{
		   		type: "POST",
		   		url: "../functions/update-clicks.php",
		   		data: "id=" + escape(id),
		   		success: function(data,textStatus)
		   		{
		   			//IntoIndia.Page.showMessage(textStatus);
		   		},
		   		error: function(XMLHttpRequest,textStatus,errorThrown)
		   		{
		   			IntoIndia.Page.showMessage(XMLHttpRequest.statusText + "\n\n" + textStatus + "\n\n" + errorThrown);
		   		}
			});
		},
		
		addBookmark: function(title,url)
		{
			if(window.sidebar)
			{	
				window.sidebar.addPanel(title,url,"");
			}
			else if(window.opera && window.print)
			{
				var elem = document.createElement("a");
				elem.setAttribute("href",url);
				elem.setAttribute("title",title);
				elem.setAttribute("rel","sidebar");
				elem.click();
			}
			else if(document.all)
			{
				window.external.AddFavorite(url,title);
			}
		},
		
		formFieldFocus: function(element)
		{
			$(element).addClass("selected");
		
			if($(element).nextAll(".help:visible").size() > 0) 
			{	
				return;
			}
			else
			{
				if($(element).val()) 
				{
					IntoIndia.Page.formFieldHelpShow(element,".pass","success");			
				}
				else
				{
					IntoIndia.Page.formFieldHelpHide(element,"success");
					IntoIndia.Page.formFieldHelpShow(element,".info","");
				}
			}
		},	
	
		validateDOB:function(date)
		{
  			var pattern= new RegExp(/\b\d{2}[\/]\d{2}[\/]\d{4}\b/);
  			
  			return pattern.test(date);
		},

		formFieldBlur: function(element)
		{
			$(element).removeClass("selected");
		
			if($(element).val()) 
			{
				IntoIndia.Page.formFieldHelpHide(element,".pass","success");
			
				if($(element).attr("id") == "email") 
				{
					if(!$(element).val().match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.@-]+\.[A-Za-z]{2,6}$/)) 
					{
						IntoIndia.Page.formFieldHelpShow(element,".fail","error");
					
						return;
					}
				}
				
				if($(element).attr("id") == "dob") 
				{
					//$(element).val("");
					
					if(!IntoIndia.Page.validateDOB($(element).val()))
					{
						IntoIndia.Page.formFieldHelpShow(element,".fail","error");
					
						return;
					}
					else
					{
						event.preventDefault();
					}
				}
						
				IntoIndia.Page.formFieldHelpShow(element,".pass","success");
			}
			else
			{
				IntoIndia.Page.formFieldHelpHide(element,"error success");
			}
		},
		
		checkKeyInput: function(event) 
		{
			if(event.keyCode >= 48 && event.keyCode <= 57 && !event.altKey && !event.ctrlKey && !event.shiftKey) 
			{	
				return true;
			}
			
			if(event.keyCode >= 65 && event.keyCode <= 90 && !event.altKey && !event.ctrlKey) 
			{
				return true;
			}
			
			if(event.keyCode == 0 || event.keyCode == 8 || event.keyCode == 46) 
			{
				return true;
			}
			
			return false;
		},
		
		formFieldKeyUp: function(element,event)
		{
			if(IntoIndia.Page.checkKeyInput(event)) 
			{
				IntoIndia.Page.formFieldHelpHide(element,".fail","error");
				IntoIndia.Page.formFieldHelpShow(element,".checking","");
	
				setTimeout(function() 
				{
					IntoIndia.Page.formFieldHelpHide(element,".checking","");
							
					if(!$(element).val().match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.@-]+\.[A-Za-z]{2,6}$/)) 
					{
						IntoIndia.Page.formFieldHelpShow(element,".fail","error");
					}
					else
					{
						IntoIndia.Page.formFieldHelpShow(element,".pass","success");
					}
				}, 
				1000);
			}
			
			($(element).val($(element).val().replace(/\W+.@/,"")));
		},
		
		clearFormFields: function()
		{	
			$(".thankyou").hide();
			$(".fail").hide();
		
			$("input").each(function(i,element) 
			{
				$(element).nextAll().hide();
				$(element).nextAll(".clear").show();
				$(element).removeClass("success");
				$(element).removeClass("error");
				$(element).val(""); 
			});
			
			$("textarea").each(function(i,element) 
			{
				$(element).nextAll().hide();
				$(element).nextAll(".clear").show();
				$(element).removeClass("success");
				$(element).removeClass("error");
				$(element).val(""); 
			});
			
			$("select").find("option:first").attr("selected","selected");
		},
		
		formFieldsValidate: function() 
		{
			$("input").each(function(i,element) 
			{
				if(!$(element).val()) 
				{
					IntoIndia.Page.formFieldHelpShow(element,".fail","error");
				}
			})
			
			$("textarea").each(function(i,element) 
			{
				if(!$(element).val()) 
				{
					IntoIndia.Page.formFieldHelpShow(element,".fail","error");
				}
			})
				
			if($(".fail:visible").size() > 0) 
			{
				return false;
			}
			else
			{	
				return true;
			}
		},				
	
		formFieldHelpShow: function(element,divClass,elementClass)
		{	
			$(element).nextAll().hide();
			$(element).nextAll(".clear").show();
			$(element).nextAll(divClass).show();
			$(element).addClass(elementClass);
		},
		
		formFieldHelpHide: function(element,elementClass)
		{	
			$(element).nextAll().hide();
			$(element).nextAll(".clear").show();
			$(element).removeClass(elementClass);
		},	
			
		showMessage: function(message)
		{
			alert(message);
		},
		
		/*
		showIndianRegionsGoogleMap: function()
		{
			IntoIndia.Page.checkGoogleMapTiles("loading_indian_regions_map");
			
			var latlng = new google.maps.LatLng(52.95536039375423,-7.799263000488281);
			    
			var options = 
			{
				zoom:11,
				center:latlng,
				mapTypeId:google.maps.MapTypeId.ROADMAP
			};
			
			IntoIndia.Page.map = new google.maps.Map($("#indian_regions_map").get(0),options);
			
			var infowindow = new google.maps.InfoWindow(
			{
				content: "We're Here!"
			});
			
			var marker = new google.maps.Marker(
			{
				position: latlng,
				map: IntoIndia.Page.map,
				title: "IntoIndia"
			});
			
			google.maps.event.addListener(marker,"click",function() 
			{
				infowindow.open(IntoIndia.Page.map,marker);
			});
			
			google.maps.event.addListener(IntoIndia.Page.map,"tilesloaded",function() 
			{
				IntoIndia.Page.loaded = true;
			});
				
			google.maps.event.addListener(IntoIndia.Page.map,"maptypechanged",function()
			{
 				IntoIndia.Page.resetCheckGoogleMapTiles("loading_indian_regions_map");
			});	
		},
		
		resetCheckGoogleMapTiles: function(id)
		{
			IntoIndia.Page.loaded = false;
			
			IntoIndia.Page.timer = 0;
			
			IntoIndia.Page.checkGoogleMapTiles(id);
		},
		
		checkGoogleMapTiles: function(id)
		{
			IntoIndia.Page.timer += 1;
			
			if(IntoIndia.Page.loaded == false) 
			{
				if(IntoIndia.Page.timer < 5) 
				{
					$("#" + id).show();
				}
				
				setTimeout("IntoIndia.Page.checkGoogleMapTiles('" + id + "')",1000);
			} 
			else 
			{
				IntoIndia.Page.timer = 0;
				
				$("#" + id).hide();
			} 			
		},
		*/
		
		loadMoreSearchResults: function(id) 
		{ 
			$("#loading_search_results").show();
			
			$.ajax(
			{
				url: "../functions/get-more-search-results.php?id=" + id,
				cache: false,
				success: function(data)
				{
					$(".search-results-content:last").after(data);		
						
					$("#loading_search_results").hide();
				}
			});
		},
		
		loadMoreBlogPosts: function(id) 
		{
			$("#loading_blog_posts").show();
			
			$.ajax(
			{
				url: "../functions/get-more-blog-posts.php?id=" + id,
				cache: false,
				success: function(data)
				{
					$(".blog-posts-content:last").after(data);		
						
					$("#loading_blog_posts").hide();
				}
			});
		},
		
		highlightRegion: function(region,title)
		{
			$("#map_src").attr(
			{
				"src":"/media/" + region + ".png"
			});
		},
		
		restoreMap: function()
		{
			$("#map_src").attr(
			{
				"src":"/media/india_map_outline_with_regions.png"
			});
		}	
	},
	
	CMS:
	{	
		textareas: [],
		activities: [],
		
		init: function()
		{	
			if($("#booking_trip_id").length)
			{
				$("#booking_trip_id").change(function()
				{
					if($(this).val() == "null")
					{
						$("#tdd1,#tdd2,#tdd3,#tdd4,#tdd5").hide();
					}
					else if($(this).val() == "99")
					{
						$("#tdd2").hide();
						
						$("#tdd1,#tdd3,#tdd4,#tdd5").show();
					}
					else
					{
						$("#tdd3,#tdd4,#tdd5").hide();
						
						$("#tdd1,#tdd2").show();
						
						$.ajax(
						{
							url: "../functions/get-booking-trip-departure-dates.php?tid=" + $(this).val(),
							cache: false,
							success: function(list)
							{
								$("#booking_trip_date_id").html(list);
							}
						});
					}
				});
			}
			
			if($("#tabledata").length)
			{
				$("#tabledata").tableHover();
			}
			
			if($("a.gallery").length)
			{
				$("a.gallery").fancybox(
				{
					"titlePosition": "over",
					"transitionIn": "fade",
					"transitionOut": "fade",
					"centerOnScroll": true,
					"onComplete":function() 
					{
						$("#fancybox-wrap").hover(function() 
						{
							$("#fancybox-title").show();
						}, 
						function() 
						{
							$("#fancybox-title").hide();
						});
					}
				});
			}
			
			if($("textarea").length)
			{
				IntoIndia.CMS.loadWYSIWISControls();
			}
				
			$("input:checkbox[id=difficulty_ids]").bind("click",function()
			{
				if($(this).is(":checked") && $(this).val() == 1) 
				{  
					$("input:checkbox[id=difficulty_ids]").each(function() 
					{ 
						$(this).attr("checked",false); 
					}); 
					
					$(this).attr("checked",true);
				}
				else if($(this).is(":checked") && $(this).val() > 1)
				{
					$("input:checkbox[value=1]").attr("checked",false); 
				}
			});
			
			/*
			$("input:checkbox[id=region_ids]").bind("click",function()
			{
				if($(this).is(":checked") && $(this).val() == 1) 
				{  
					$("input:checkbox[id=region_ids]").each(function() 
					{ 
						$(this).attr("checked",true); 
					}); 
					
					$(this).attr("checked",false);
				}
			});
			*/
						
			$("#add_category").click(function()
			{
				var id = $("#id").val();
				var category = $("#new_category").val(); 
				
				if(category == null || category == "" || category == 0)
				{
					IntoIndia.Page.showMessage("Please enter the Category of the Blog Post first");
				}
				else
				{
					$("#new_category").val("");
				
					IntoIndia.CMS.addCategory(category);
				}
			});
			
			$("#add_departure_date").click(function()
			{
				var days = $("#duration").val();
				var id = $("#id").val();
				var departure_date = $("#new_departure_date").val(); 
				
				if(days == null || days == "" || days == 0)
				{
					IntoIndia.Page.showMessage("Please enter the Duration of the Trip first");
				}
				else
				{
					if(departure_date == null || departure_date == "" || departure_date == 0)
					{
						IntoIndia.Page.showMessage("Please enter the Departure Date of the Trip");
					}
					else
					{
						$("#new_departure_date").val("");
					
						IntoIndia.CMS.addDepartureDate(departure_date);
					}
				}
			});
			
			
			$("#duration").keyup(function()
			{
				var days = $(this).val();
				
				if(days == 0)
				{
					IntoIndia.Page.showMessage("Trip duration cannot be 0 days");
	
					$(this).val("");
				}
				else
				{	
					days = days.replace(/[^0-9\.]/g,'');

					$(this).val(days);
				}
				
				IntoIndia.CMS.updateDaySummaries(days);
			});
			
			if($("#new_departure_date").length)
			{
				$("#new_departure_date").datepicker(
				{ 
					dateFormat: "yy/mm/dd", 
					inline: true, 
					changeMonth: true, 
					changeYear: true 
				});
			}
			
			if($(".autofade").length)
			{
				IntoIndia.CMS.showClosingMessage(7);
			}
			
			if($("#filename").length)
			{
				$("#filename").change(function()
				{
					IntoIndia.CMS.inputFileOnChange();
				});
			}
			
			if($("#preview").length)
			{
				$("#preview").hide();
			}
		},
		
		inputFileOnChange:function() 
		{
			$("#preview").show();
		
			if(document.getElementById("filename").files) 
			{		
				var base64data = "data:" + document.getElementById("filename").files.item(0).getAsDataURL();	
				
				$("#preview").attr(
				{
					"src":base64data
				});
				
				$("#preview").Jcrop(
				{
					aspectRatio:0,
					onChange:IntoIndia.CMS.updateCroppingCoords,
					onSelect:IntoIndia.CMS.updateCroppingCoords,
					setSelect:[10,10,710,360],
					minSize:[700,350],
					maxSize:[700,350]
				});
			}
		},
		
		updateCroppingCoords:function(coords)
		{
			$("#x").val(coords.x);
			$("#y").val(coords.y);
			$("#w").val(coords.w);
			$("#h").val(coords.h);
		},
		
		showClosingMessage:function(seconds)
		{
			if(seconds < 1) 
			{
				clearTimeout();
				
				$("#closing_in").html("0");
				
				$(".autofade").fadeOut("slow").slideUp("slow");
			}
			else
			{
				$("#closing_in").html(seconds);
					
				setTimeout("IntoIndia.CMS.showClosingMessage(" + (seconds - 1) + ")",1000);
			}
		},
			
		loadActivities:function()
		{
			$.ajax(
			{
				url: "../functions/get-activities.php",
				cache: false,
				success: function(activity_list)
				{
					IntoIndia.CMS.activities = activity_list;	
				}
			});
		},
		
		loadCategories: function(id)
		{
			$("#loading_blog_categories").show();
		
			$.ajax(
			{
				url: "../functions/get-blog-categories.php?id=" + id,
				cache: false,
				success: function(categories)
				{
					$("#loading_blog_categories").hide();
				
					$("#categories").append(categories);
				}
			});
		},
		
		loadDepartureDates: function(id)
		{
			$("#loading_departure_dates").show();
			
			var days = $("#duration").val();
			
			$.ajax(
			{
				url: "../functions/get-trip-departure-dates.php?id=" + id + "&days=" + days,
				cache: false,
				success: function(dates)
				{
					$("#loading_departure_dates").hide();
					
					$("#departure_dates").append(dates);
				}
			});
		},
		
		loadDayActivities:function(id)
		{
			setTimeout(function()
			{ 
				$.ajax(
				{
					url: "../functions/get-day-activities.php?id=" + id,
					cache: false,
					success: function(day_activity_list)
					{
						var day_acts = new Array();
							
						day_acts = day_activity_list.split(",");
						
						for(var d = 0; d < day_acts.length; ++d)
						{
							day_acts[d] = day_acts[d].replace("Day=","");
							
							day_acts[d] = day_acts[d].replace("AID=","");
			
							var tmp_day_acts = new Array();
							
							tmp_day_acts = day_acts[d].split("&");
						
							$("input:checkbox[value=day_" + tmp_day_acts[0] + "_act_" + tmp_day_acts[1] + "]").attr("checked", true);
						}
					}
				});
			}, 2000);
		},
		
		loadDaySummaries: function(id)
		{
			setTimeout(function()
			{ 
				var days = $("#duration").val();
				
				IntoIndia.CMS.updateDaySummaries(days);
				
				$.ajax(
				{
					url: "../functions/get-day-summaries.php?id=" + id,
					cache: false,
					success: function(day_summaries)
					{
						if(day_summaries > "")
						{
							var summaries = new Array();
							
							summaries = day_summaries.split("|");
						
							for(var c = 0; c < summaries.length; ++c)
							{
								$("#day_" + (c + 1) + "_summary").val(summaries[c]);
							}
						}
					}
				});
			}, 1000);
		},
		
		updateDaySummaries: function(new_total)
		{		
			var current_total = IntoIndia.CMS.textareas.length;
			var total = 0;
			
			if(parseInt(new_total) < parseInt(current_total))
			{
				var total_to_remove = current_total - new_total;
				
				var summary = (total_to_remove == 1) ? "Summary" : "Summaries";	
			
				if(confirm("You are about to remove " + total_to_remove + " Day " + summary + " for this Trip!\n\nAre you sure?  This cannot be un-done!"))
				{
					for(var x = 0; x < total_to_remove; ++x)
					{
						IntoIndia.CMS.removeDaySummary(IntoIndia.CMS.textareas.length);
						
						IntoIndia.CMS.textareas.pop();
					}
				}
				else
				{
					$("#duration").val(current_total);
				}
			}
			else
			{
				total = parseInt(new_total) - parseInt(current_total);
			}
					
			for(var y = 0; y < total; ++y)
			{
				var last = IntoIndia.CMS.textareas[IntoIndia.CMS.textareas.length - 1];
				
				var num = y + 1;
				
				if(last > 0)
				{
					num = last + 1;
				}
				
				IntoIndia.CMS.textareas.push(num);
				
				IntoIndia.CMS.addDaySummary(num);	
			}
		},
	  
		addDaySummary: function(num)
		{		
			var day_activities = "";
			
			var list = new Array();
					
			list = IntoIndia.CMS.activities.split("|");
			
			for(var x = 0; x < list.length; ++x)
			{
				var acts = new Array();
				
				acts = list[x].split("=");
				
				day_activities += '<li><span style="float:left;margin-top:3px;width:150px;text-align:left;">' + acts[1] + '</span><input type="checkbox" name="activities[]" value="day_' + num + '_act_' + acts[0] + '"></li>';
			}	
			
			$("#summaries").append($("<table/>").attr(
			{
				"border": "0px",
				"width": "100%",
				"cellPadding": "0px",
				"cellSpacing": "0px"
			}).append($("<tr/>").append($("<td/>").attr(
			{
				"width": "80%"
			}).append($("<p/>").attr(
			{
				"name": "day_" + num + "_summary_label"
			})
			.append("Day " + num + " Summary").css(
			{
				"color": "#294273",
				"fontWeight": "bold",
				"paddingTop": "5px",
				"paddingLeft": "0px",
				"marginTop": "10px"
			})).append($("<textarea/>").attr(
			{
				"className": "day_summary",
				"name": "day_" + num + "_summary",
				"id": "day_" + num + "_summary",
				"cols": "100%",
				"rows": "20"
			}))).append($("<td/>").attr(
			{
				"width": "20%",
				"align": "left",
				"valign": "top"
			}).append($("<p/>").attr(
			{
				"name": "ul_day_" + num + "_summary_label"
			}).css(
			{
				"marginTop": "18px",
				"marginLeft": "-100px",
				"fontWeight": "bold",
				"color": "#294273"
			}).append("Activities")).append($("<ul/>").attr(
			{
				"name":"day_" + num + "_summary"
			}).css(
			{
				"marginTop": "-2px",
				"marginLeft": "-90px",
				"listStyle": "none",
				"padding": "0px"
			}).append(day_activities)))));
			
			IntoIndia.CMS.addWYSIWISControls("day_" + num + "_summary");
		},
		
		removeDaySummary: function(num)
		{
			IntoIndia.CMS.removeWYSIWISControls("day_" + num + "_summary");
			
			$("#summaries table tr td p[name=day_" + num + "_summary_label]").remove();
			$("#summaries table tr td textarea[name=day_" + num + "_summary]").remove();
			$("#summaries table tr td p[name=ul_day_" + num + "_summary_label]").remove();
			$("#summaries table tr td ul[name=day_" + num + "_summary]").remove();
		},
		
		addDepartureDate: function(date)
		{
			$("#departure_dates ul").append($("<li/>").attr(
			{
				"id": date
			}).append($.datepicker.formatDate("DD, d M, yy",new Date(date)) + " ").append($("<input/>").attr(
			{
				"type": "hidden",
				"name": "departure_dates[]",
				"value": date
			})).append($("<a/>").attr(
			{
				"href": "javascript:void(0);",
				"title": "Click here to remove this Date",
				"onclick": "parent.IntoIndia.CMS.removeDepartureDate('" + date + "');"
			}).append($("<img/>").attr(
			{
				"src":"/media/delete.png",
				"alt":"Remove this Date"
			}).css("border","0px").css("verticalAlign","middle").css("marginBottom","4px"))));
		},
		
		removeDepartureDate: function(date)
		{
			$("#departure_dates ul li[id=" + date + "]").remove();
		},
		
		addCategory:function(category)
		{
			$("#categories").append($("<input/>").attr(
			{
				"type":"checkbox",
				"class":"checkbox",
				"value":"" + category + "",
				"name":"categories[]",
				"checked":"checked"
			})).append($("<p/>").css(
			{
				"marginTop":"-18px",
				"marginLeft":"20px",
				"fontSize":"0.75em",
				"fontFamily":"verdana"
			}).append(category));
		},
			
		loadWYSIWISControls: function()
		{
			$("textarea").tinymce(
			{
				elements:"abshosturls",
				script_url:"/js/tiny_mce/tiny_mce.js",
				relative_urls:false,
				remove_script_host:false,
				document_base_url:"http://www.intoindia.com/",
				theme:"advanced",
				plugins:"safari,spellchecker,preview,paste,advimage,advlink,media,searchreplace,xhtmlxtras,print",
				theme_advanced_buttons1:"newdocument,|,search,replace,|,charmap,|,print,|,image,|,undo,redo,|,indent,outdent,|,preview,spellchecker,|,cleanup,code,help",
				theme_advanced_buttons2:"cut,copy,paste,pastetext,pasteword,removeformat,abbr,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontsizeselect,|,bold,italic,underline,strikethrough,|,bullist,link,unlink",
				theme_advanced_buttons3:"",
				theme_advanced_buttons4:"",
				theme_advanced_toolbar_location:"top",
				theme_advanced_toolbar_align:"left",
				theme_advanced_resizing:true,
				theme_advanced_disable:"",
				theme_advanced_font_sizes:"10px,12px,14px",
				theme_advanced_statusbar_location:"bottom",
				spellchecker_languages:"+English=en",
				verify_html:true,
				file_browser_callback:tinyupload,
				disk_cache:true,
    			debug:false,
    			gecko_spellcheck:true,
    			setup:function(sean) 
    			{
        			sean.onInit.add(function(sean) 
        			{
            			//IntoIndia.Page.showMessage("Editor is ready");
        			});
    			}
			});
		},
		
		addWYSIWISControls: function(name)
		{
			tinyMCE.execCommand("mceAddControl", false, name);
		},
		
		removeWYSIWISControls: function(name)
		{
			tinyMCE.execCommand("mceRemoveControl", false, name);
		}
	}
};
