// JavaScript Document


/* Apply Shadow to targetElement*/
function applyShadow(targetElement) {
  if (typeof(targetElement) != 'object') {
    targetElement = document.getElementById(targetElement);
  }
  var value = targetElement.firstChild.nodeValue;
  targetElement.style.position = 'relative';
  targetElement.style.zIndex = 1;
  var newEl = document.createElement('span');
  newEl.appendChild(document.createTextNode(value));
  newEl.id=targetElement.id+'s';
  newEl.className = 'shadowed';
  targetElement.appendChild(newEl);
}

/*  Return true if link l is this page */
var sPath = window.location.pathname;
var currentPage = sPath.substring(sPath.lastIndexOf('/') + 1);
currentPage = currentPage.substring(0,currentPage.lastIndexOf('.') );

function isThisArea(l){
	l=l.toLowerCase();
	return (l.search(currentPage)>0)? true : false;
}



/* Bouncy effect to targetElement  on mouse over */
var oneBouncy=false;
var start=Array();
var yStart, sStart;
var up;
var waiting=0;
var last;

function startBouncy(targetElement){
	if ((oneBouncy!=false)&&(oneBouncy!=targetElement.id)) endBouncy(document.getElementById(oneBouncy));
	if ((start[targetElement.id]!=true) && (last!=targetElement.id)){
		oneBouncy=targetElement.id;
		last=targetElement.id;
		start[targetElement.id]=true;
		targetElementShadow=document.getElementById(targetElement.id+'s');
		targetElement.style.marginTop="10px";
		targetElementShadow.style.marginTop="0px";
		y=targetElement.style.marginTop;
		yStart=y;
		sStart=targetElementShadow.style.marginTop;
		up=true;
		bouncy(targetElement.id);
	}
}

function endBouncy(targetElement){
	oneBouncy=false;
	targetElement.style.marginTop=yStart;
	document.getElementById(targetElement.id+'s').style.marginTop=sStart;
	start[targetElement.id]=false;
}

function bouncy(idElement){
	if (start[idElement]==true){
		targetElement=document.getElementById(idElement);
		targetElementShadow=document.getElementById(idElement+'s');
	
		if (parseInt(targetElement.style.marginTop)<parseInt(yStart)-12) up=false;
		else if (parseInt(targetElement.style.marginTop)>parseInt(yStart)+7) up=true;
	
		if (up){
			targetElement.style.marginTop= (parseInt(targetElement.style.marginTop)-2)+'px';
			targetElementShadow.style.marginTop=(parseInt(targetElementShadow.style.marginTop)+0.5)+'px';
		}
		else{
			targetElement.style.marginTop= (parseInt(targetElement.style.marginTop)+2)+'px';
			targetElementShadow.style.marginTop=(parseInt(targetElementShadow.style.marginTop)+0.5)+'px';
		}

		if ((targetElement.style.marginTop==yStart)&&(up))
			endBouncy(targetElement);

		setTimeout('bouncy("'+idElement+'");',10);
	}
}


function Set_Cookie() {
	var today = new Date(); 
	expires=new Date(today.getTime() + (3600 * 24)); 
    var cookieString = "HotelAlPratoCookie=1;expires=" + expires.toGMTString();
    document.cookie = cookieString;
} 
function Get_Cookie() {
   name="HotelAlPratoCookie";
   var start = document.cookie.indexOf(name+"=");
   var len = start+name.length+1;
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
   if (start == -1) return null;
   var end = document.cookie.indexOf(";",len);
   if (end == -1) end = document.cookie.length;
   return unescape(document.cookie.substring(len,end));
} 
function visita(){
	var stringa = document.cookie;
	if(stringa.indexOf('HotelAlPratoCookie') != -1){
		return '1';	
	}else{
		Set_Cookie();
		return '0';
	}
}



/* On load */
function onLoad(){
	// shadow on text menu
	llink=document.getElementById('menu_top').getElementsByTagName('a');
	for (var i = 0; i < llink.length; i++) {
	  applyShadow(llink[i]);
	  if (isThisArea(llink[i].href)){
		  	llink[i].style.color="#ff0";
	  }
	}
}



jQuery(function(){
	// *******************************************************
	// Form
	var $form = jQuery('#form_contact');
	jQuery('input', $form).keypress(function (e) {
		if(e.which ==13){
			$form.submit();
		}
	});

	var $submit = $('#submit_form');
	var form_success = false;

	$form.submit(function(){
		var $inputs = jQuery('input, textarea, select', $form);
		var success = true;
		var data = {};
		$inputs.each(function(){
			var $input = jQuery(this);
			
			if ( ($input.attr('type') == 'radio') || ($input.attr('type') == 'checkbox') ){
				if ($input.attr('checked')){
					if(new String($input.attr('name')).indexOf('[]') > -1){
						if (data[$input.attr('name')] == undefined)  data[$input.attr('name')] = [];
						data[$input.attr('name')].push($input.val());
					}
					else{
						data[$input.attr('name')] = $input.val();
					}
				}
			}
			else{
				if(new String($input.attr('name')).indexOf('[]') > -1){
					if (data[$input.attr('name')] == undefined)  data[$input.attr('name')] = [];
					data[$input.attr('name')].push($input.val());
				}
				else{
					data[$input.attr('name')] = $input.val();
				}
			}
			
			if (success===true){
				var val = $.trim(new String($input.val()));
				
				// Controllo se il campo è richiesto
				if ( (new String($input.attr('alt')).indexOf('required')>-1) && (val=='') ){
					alert('Devi compilare il campo "'+ $input.attr('name')+'"');
					$input.focus();
					success = false;
				}
				// Controllo se il campo è una email
				else if ((new String($input.attr('alt')).indexOf('email')>-1)  && (! /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/.test(val) ) ){
					alert('Devi inserire un indirizzo e-mail valido!'); 
					$input.focus();
					success = false;
				}
				
			}
		});
		
		
		if (success){
			jQuery.ajax({
				data:data,
				beforeSend:function(){
					$submit.before('<img src="/img/loading.gif">').hide();
				},
				type:'POST',
				url: $form.attr('action'),
				success:function(d, t){
					var $answer = jQuery(d);
					$form.hide().after($answer);
					$answer.dialog({width:600, modal:true,buttons: {Ok: function() {jQuery(this).dialog('close');}}})
				},
				cache:false
			});
		}
		
		form_success = success;
		return false;
	});

							
								
});

