jQuery(function($){
	browser=navigator.appName;
	version=$.browser.version;
	msie='Microsoft Internet Explorer';
	var title=$('title').text();
	$('h1').text(title);
	$('html').attr('lang')=='it'?langPos():null;
	$('#nojavascript').remove();
	ieBugs();
	pagePrint();
	addCourses();
	$('#info').is('form')?postData():null;
	$('a[href^=http][class!="en"]').attr('target','_blank');
	$('head').append('<link rel="stylesheet" type="text/css" href="css/superfish.css" media="screen" /><script type="text/javascript" src="js/superfish.js"></script><script type="text/javascript" src="js/supersubs.js"></script><script type="text/javascript" src="js/swfobject/swfobject.js"></script>');
	$('ul.sf-menu').mouseover(function(){
		$('#macro_hover').fadeOut('fast');
	}).supersubs({
			minWidth:15,maxWidth:25,extraWidth:1
		}).superfish();
	$('ul.sub').css({'opacity':'0.95','z-index':'90'});
	/*$('#macro_hover').mouseover(function(){
		$('ul.sub').hide();
	});
	$('#macro li a').mouseover(function(){
		$('#macro_hover').fadeTo(250,0.95,function(){
		});
	});
	$('#macro_hover span a').click(function(){
		$('#macro_hover').fadeOut('fast');
	});*/
	$('#menu_section li a').hover(
		function(){
			$(this).fadeTo('fast',0.70);
			$('#macro_hover').fadeOut('fast');
		},
		function(){
			$(this).fadeTo('fast',1);
		}
	);
});
function addCourses(){
	$('#copy-header_nav').append('<li class="level0"><a href="http://www.corsoeuroprogettazione.blogspot.com">corsi</a></li>');
	$('#footer-nav').append('<li><a href="http://www.corsoeuroprogettazione.blogspot.com">corsi</a></li>');
}
function langPos(){
	$('#index').is('body')?$('div.lang').css('top','0px'):null;
}
//this function solves IEbugs//
function ieBugs(){
	browser==msie?$('ul.sub ul').css('background','#557B6E'):null;
	(browser==msie)&&(version==6.0)?$('a.main').css('display','inline-block') &&  msie6pngFix():addBorders();
}
function pagePrint(){
	var txt=$('#text').html();
	var frm=$('#form').html();
	$('#print').click(function(){
		$('#text').is('div')?$('body').append('<div id="white"><div>'+txt+'<p class="site">IGC sas - clicca per tornare alla pagina web - http://www.igcsas.it</p></div></div>'):$('body').append('<div id="white"><div>'+frm+'<p class="site">IGC sas - clicca per tornare alla pagina web - http://www.igcsas.it</p></div></div>');
		$('#header,#macro,#mid-bar,#menu-section,#footer,#reference').hide();
		window.print();
	});
	$('#print').click(function(){
		$('#white').remove();
		$('#header,#macro,#mid-bar,#menu-section,#footer,#reference,a:not(#white a)').show();
	});
};	
function setXMLHttpRequest() {
   var xhr = null;
   // browser standard con supporto nativo
   if (window.XMLHttpRequest) {
	 xhr = new XMLHttpRequest();
   }
   else if (window.ActiveXObject) {
	 xhr = new ActiveXObject("Microsoft.XMLHTTP");
   }
   return xhr;
}

var xhrObj = setXMLHttpRequest();


function check_captcha(codice) {
   var url = "send.php";
   xhrObj.open("POST", url, true);
   xhrObj.setRequestHeader("content-type", "application/x-www-form-urlencoded");
   xhrObj.onreadystatechange = updateCaptcha;
   xhrObj.send("code="+codice);
}

function updateCaptcha(){
   if (xhrObj.readyState == 4) {
	 var risp = xhrObj.responseText;
	 if(risp == '1') {
		 	document.modulo.invia.disabled=true;
			document.modulo.action="contact.php?send=true";
			document.modulo.submit();
	 }
	 else if(risp == '0') alert("Campo captcha non corretto");
   }
}

function postData(){
	
	$('#priv').click(function(){
		$('#privacy').toggle();
	});
	$('a.reset').click(function(){
		
		document.getElementById("email_check").innerHTML = "";
		
		if($(this).parent().parent().parent().attr('id')=="personal_data"){
			$('#personal_data input').val('Inserire').css('color','grey');
		}
		
	});
	$('#info input[value="Inserire"]').focus(function(){
		$(this).attr('value','').css('color','black');
	});
	$('#info input').blur(function(){
		if($(this).attr('value')==''){
			$(this).attr('value','Inserire').css('color','grey');
		}
		
	});
	
}


function check_data() {
	
	var vuoto = false;
	var vuoto2 = true;
	//var n = document.modulo.elements.length;
	for(var i = 0; i < 5; i++ ) {
		if(document.modulo.elements[i].value == "" || document.modulo.elements[i].value == "Inserire")  vuoto = true;
	}
	//controllo se almeno una checkbox è selezionata oppure c'è un messaggio
	for(var j = 5; j < 10; j++ ) {
		if(document.modulo.elements[j].checked)  vuoto2 = false;
	}
	if(vuoto) alert("Campi obbligatori mancanti");
	else if(vuoto2 == true && document.getElementById("client_msg").value == "") alert("Inserire un messaggio oppure selezionare almeno una richiesta");
	else if(emailCheck(document.getElementById("client_email").value) == false) alert("Indirizzo email non valido");
	else {
		check_captcha(document.getElementById("captcha").value);
    }
}

function redraw() {
	document.getElementById("draw_captcha").innerHTML = '<img src="captcha.php?redraw=true" /> <a style="color:#000";" href="#draw_captcha" onClick="redraw();" >Ricarica</a>';
}
//this will add PNGfix if it's needed //
function msie6pngFix(){
	$.getScript('js/jquery.pngFix.js',function(){
		$(document).pngFix();
	});
}
//if != IE6 this will add positioned borders//
function addBorders(){
	var htBrdrH=$('#wrapper').height()-21;
	$('#wrapper').append('<div id="border-rgt" class="ht-borders"></div><div id="border-lft" class="ht-borders"></div>');
	$('#header,#copy-header').before('<div id="border-top" class="vt-borders"></div>');
	$('#footer').after('<div id="border-bot" class="vt-borders"></div>');
	$('div.ht-borders').css({'height':htBrdrH});
}


function emailCheck(emailStr) {
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "[^\\s" + specialChars + "]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + "+";
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$");
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) {
		document.getElementById("email_check").innerHTML = "L'email sembra essere sbagliata: (controlla @ e .)";
		//document.getElementById("invia").disabled = true;
		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];
	if (user.match(userPat) == null) {
		document.getElementById("email_check").innerHTML = "La parte dell'email prima di '@' non sembra essere valida";
		//document.getElementById("invia").disabled = true;
		return false;
	}
	var IPArray = domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				document.getElementById("email_check").innerHTML = "L'IP di destinazione non è valido";
				//document.getElementById("invia").disabled = true;
				return false;
			}
		}
		//document.getElementById("invia").disabled = false;
		document.getElementById("email_check").innerHTML = "";
		return true;
	}
	var domainArray = domain.match(domainPat);
	if (domainArray == null) {
		document.getElementById("email_check").innerHTML = "La parte dell'email dopo '@' non sembra essere valida";
		//document.getElementById("invia").disabled = true;
		return false;
	}
	var atomPat = new RegExp(atom, "g");
	var domArr = domain.match(atomPat);
	var len = domArr.length;
	if (domArr[domArr.length - 1].length < 2 ||
		domArr[domArr.length - 1].length > 6) {
		document.getElementById("email_check").innerHTML = "Il dominio di primo livello (es: .com e .it) non sembra essere valido";
		//document.getElementById("invia").disabled = true;
		return false;
	}
	if (len < 2) {
		document.getElementById("email_check").innerHTML = "L'indirizzo manca del dominio";
		//document.getElementById("invia").disabled = true;
		return false;
	}
	//document.getElementById("invia").disabled = false;
	document.getElementById("email_check").innerHTML = "";
	return true;
}
