// JavaScript Document
var timeout	= 300;
var closetimer	= 0;
var ddmenuitem	= 0;

$(function() {
	$("#search_submit_button").hover(function(){
		$(this).addClass("search_rollover");
	}, function(){
		$(this).removeClass("search_rollover");
	});
	
	$.get("/include/weather.php", { site: $("#w_site").val() },
		function(data){
			$("#weather_wrapper").html(data);
		}
	);
	
	$("#contact_submit_button").hover(function(){
		$(this).addClass("newsletter_rollover");
	}, function(){
		$(this).removeClass("newsletter_rollover");
	});
	
	$("#contact_form > input.textinput").click(function(){
		if($(this).val() == $(this).get(0).defaultValue){
			$(this).val('');
		}
	}).blur(function(){
		if($(this).val() == ''){
			$(this).val($(this).get(0).defaultValue);
		}
	});
	
	//menu
	var menu = document.getElementById("menu");
	var buttons = menu.getElementsByTagName("div");
	if(buttons){
		for(var i=0; i<buttons.length; i++){
			var button = buttons[i];
			if(button.id != ""){
				button.onmouseover = mopen;
				button.onmouseout = mclosetime;
			}
		}
	}
	
	var sub_buttons = menu.getElementsByTagName("table");
	if(sub_buttons){
		for(var i=0; i<sub_buttons.length; i++){
			var sub_button = sub_buttons[i];
			sub_button.onmouseover = mcancelclosetime;
		}
	}
	$(".menu_button").hover(function() {
		$(this).addClass("roll_over");
		if(this.id==1) $('#menu_left_corner').get(0).src = '/images/menu-left-rollover.png';
	},function(){
		$(this).removeClass("roll_over");
		if(this.id==1) $('#menu_left_corner').get(0).src = '/images/menu-left-idle.png';
	});

	$(".sub_button_link").hover(function(){
		$(this).parents("tr").addClass("sub_roll_over");
		if($(this).parents("tr").hasClass("first")) $("#"+$(this).parents("table").get(0).id + " tr.first_line").addClass("first_line_over");
		if($(this).parents("tr").hasClass("last")) $("#"+$(this).parents("table").get(0).id + " tr.last_line").addClass("last_line_over");
	}, function(){
		$(this).parents("tr").removeClass("sub_roll_over");
		if($(this).parents("tr").hasClass("first")) $("#"+$(this).parents("table").get(0).id + " tr.first_line").removeClass("first_line_over");
		if($(this).parents("tr").hasClass("last")) $("#"+$(this).parents("table").get(0).id + " tr.last_line").removeClass("last_line_over");
	});
	
	var rightContent = jQuery.trim($("#right").html());
	if(rightContent.length==0){ 
		$("#right").remove(); 
		$("#center").css('padding-right', '30px'); 
	}
});

function validate(){
	var flag = true;
	$(".ness").each(function(idx){ if(emptyField($(this).val())) flag = false; });
	return flag;
}

function emptyField(text){
	if (text.length == 0) return true;
	for (var i=0; i<text.length; i++) {
		var ch = text.charAt(i);
		if (ch != ' ' && ch != '\t') return false;	
	}
	return true;	
}

function validateContact(){
	$('#contact_result_1').addClass("result");
	$('#contact_result_0').addClass("result");
	$('#contact_result_2').addClass("result");
	var formObj = $('#contact_form').get(0);
	var fields = formObj.elements;
	for(var i=0; i<fields.length; i++){
		switch(fields[i].name){			
			case "email":
			if(isEmptyField(fields[i]) || fields[i].value == fields[i].defaultValue || !validateEmail(fields[i].value)){
				fields[i].style.backgroundColor = "#ffe7eb";
				fields[i].focus();
				return;
			}else{
				fields[i].style.backgroundColor = "#ffffff";
			}
			break;

			default:
			if(fields[i].className.match("required")){ 
				if(isEmptyField(fields[i]) || fields[i].value == fields[i].defaultValue){
					fields[i].style.backgroundColor = "#ffe7eb";
					fields[i].focus();
					return;
				}else{
					fields[i].style.backgroundColor = "#ffffff";
				}
			}
			break;
		}
	}
	
	$('#ajax-loader').css('display', 'inline');
	$.post("/scripts/contact.php", $('#contact_form').serialize(),
		function(data){
			if($('#contact_result_'+data)) $('#contact_result_'+data).removeClass("result");
			$('#ajax-loader').css('display', 'none');
			//if(data == 1) $('#contact_form').get(0).reset();
			if(data == 1) window.location.assign("http://noahtours.com/thank_you.php?back="+$("#back_url").val());
		}
	);
}

function validateEmail(email) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(email) == false) {
		return false;
	}
	return true;
}

function isEmptyField(textObj){
	if (textObj.value.length == 0) return true;
	for (var i=0; i<textObj.value.length; i++) {
		var ch = textObj.value.charAt(i);
		if (ch != ' ' && ch != '\t') return false;	
	}
	return true;	
}

//menu
// open hidden layer
function mopen(event){	
	id = "tab_"+this.id;
	// cancel close timer
	mcancelclosetime();
	// close old layer
	if(ddmenuitem) ddmenuitem.style.display = 'none';
	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	if(ddmenuitem) ddmenuitem.style.display = 'block';
}

// close showed layer
function mclose(){
	if(ddmenuitem) ddmenuitem.style.display = 'none';
}

// go close timer
function mclosetime(event){
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime(event){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
