$(document).ready(function(){
    var current;
	var elementClass;

	// menu
	$("#nav dd").hide();
	$("#nav dt a").click( function() {
		
		$("#nav dt a").removeClass('active');
		$(this).addClass('active');

		if(current != $(this))
			$(current).mouseout();

		current = $(this);

		$("#nav dd:visible").slideUp("fast");
		$(this).parent().next().slideDown("fast");
		
		if($(this).attr('href')!='#'){
			parent.location = $(this).attr('href');
		}
		return false;
	});

	// submenu
	$("#nav li a").click( function() {
		$("#nav li a").removeClass('active');
		$(this).addClass('active');
		if($(this).attr('href')!='#'){
			parent.location = $(this).attr('href');
		}
		return false;
	});

	// isso coisa de designer
	$('#nav dt a')
	.css( {backgroundPosition: "0 0"} )
	.mouseover(function(){
		elementClass = $(this).attr('class');
		if(elementClass != "active")
			$(this).stop().animate({backgroundPosition:"(0 -30px)"}, {duration:250})
	})
	.mouseout(function(){
		elementClass = $(this).attr('class');
		if(elementClass != "active")
			$(this).stop().animate({backgroundPosition:"(0 0)"}, {duration:250})
	});

	if($('.cadastraTrabalho .tipoInstituicao').size()>0){
		$('.cadastraTrabalho .tipoInstituicao').change(function(){
			var classItem = $(this).find(':selected').attr('class');
			
			$('.hideFields, .cadastraTrabalho li div').hide();
			$('.hideFields div input.required').removeClass('required');
			$('.hideFields div .error').removeClass('error');
			
			if(classItem!=''){
				$('.hideFields div.'+ classItem + ' input').addClass('required');	
				$('.hideFields, .hideFields div.'+ classItem).show();
			}
				
		});
		$('.cadastraTrabalho .tipoInstituicao').val($('.txtHiddenTipoInstituicao').val()).change();	
	}
	
	
	
	/* Verifica se eh primeiro ou segundo nivel*/
	$('.open-menu').parent().each(function(){
	    if(this.tagName.toLowerCase()=='dt'){
			$(this).find('a').addClass('on');
		}
		else{
			$(this).parents('dd').show();
		};
	})
	
	//$('.full-content').height($(document).height())
	
	
	/* hover dos menus / breadcrump */
	$('#menu li, ul.sidebar li.catalogo ul li h4, .breadcrumb li.home').hover(function(){
        $(this).addClass('over');
    }, function(){
        $(this).removeClass('over');
    });
	
	/* Remocao da borda superior e inferior dos menus e sidebars no ultimo e primeiros itens */
    $('ul.sidebar li:not(.catalogo), ul.sidebar li.catalogo ul li, .two-column-right .livros-relacionados').each(function(){
        $(this).find('li:last').addClass('no-border');
        $(this).find('li:first').addClass('no-top-border');
    });
	
	/* abre e fecha abas */
	$('.book-images li').click(function(){
		var classItem = this.className.replace(' on','');
		
		removeClass('on','.book-images li');
		$(this).addClass('on');
		 
		$('.book-images div').not('.book-images div div').hide();
		$('.book-images div.' +classItem).show(); 
		
	});
	
	/* abre e fecha abas */
	loadBookTabs();
	
	$('.canal-professor li a').click(function(event){
		if($('.canal-content .tabs li').size()>0){
			var hash = $(this).attr('href').split('#');
			var classItem;
			
			if(hash!=''){
				switch(hash[1]){
					case 'recursos':
						classItem = 'recursos-para-professor';
						break;
					default:
						classItem = hash[1];	
						
				}
				
				removeClass('on','.book-content .tabs li, .canal-content .tabs li');
				$('.book-content .tabs li.'+classItem + ', .canal-content .tabs li.'+classItem).addClass('on');
				$('.book-content div, .canal-content div').not('.book-content div div, .canal-content div div').hide();
				$('.book-content div.' +classItem + ', .canal-content div.'+classItem).show(); 
				$('.resultados .ultimos').hide();
				$('.title-resultados .tabs li.ultimos, .resultados .todos').addClass('on');
				$('.resultados .todos').show();
				
				mudaAbaRecurso('todos','ultimos')
			}
		}
		
	})
	
	if ($('.canal-content .tabs li').size() > 0) {
		$('.resultados .ultimos').hide();
		$('.title-resultados .tabs li.ultimos, .resultados .todos').addClass('on');
		$('.resultados .todos').show();
	}
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .tabs li').click(function(){
		var classItem = this.className.replace(' on','');
		removeClass('on','.canal-content .tabs li');
		$(this).addClass('on');
		
		$('.canal-content div').hide();		 
		$('.canal-content div div').show();
		$('.canal-content div.' +classItem).show(); 

		if(classItem == 'premios'){
			$('.canal-content .premios .resultados div').hide();
			$('.canal-content .premios .title-resultados .tabs li.aconteceu').addClass('on');
			$('.canal-content .premios .resultados div.aconteceu').show(); 	
			$('.canal-content .premios .resultados div.aconteceu div').show(); 		
		}
		
		
		if(classItem == 'materiais'){
			$('.canal-content .materiais .resultados div').hide();
			$('.canal-content .materiais .title-resultados .tabs li.todos').addClass('on');
			$('.canal-content .materiais .resultados div.todos').show(); 
			$('.canal-content .materiais .resultados div.todos div').show(); 			
		}
		
		mudaAbaRecurso('todos','ultimos')
	});
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .materiais .title-resultados .tabs li').click(function(){
		var classMatItem = this.className.replace(' on','');
		
		removeClass('on','.canal-content .materiais .title-resultados .tabs li');
		$('.canal-content .tabs li.materiais').addClass('on');
		$(this).addClass('on');
		 		 
		$('.canal-content .materiais').show();
		$('.canal-content .materiais .resultados div').hide();
		$('.canal-content .materiais .resultados').show();
		$('.canal-content .materiais .resultados div.' +classMatItem).show(); 
		$('.canal-content .materiais .resultados div.' +classMatItem+ ' div').show(); 
		
	});
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .premios .title-resultados .tabs li').click(function(){
		var classMatItem = this.className.replace(' on','');
		
		removeClass('on','.canal-content .premios .title-resultados .tabs li');
		$('.canal-content .tabs li.premios').addClass('on');
		$(this).addClass('on');
		 		 
		$('.canal-content .premios').show();
		$('.canal-content .premios .resultados div').hide();
		$('.canal-content .premios .resultados').show();
		$('.canal-content .premios .resultados div.' +classMatItem).show(); 
		$('.canal-content .premios .resultados div.' +classMatItem+ ' div').show(); 
		
	});
	
	
	/* Abas dinamicas projeto*/
	
	
	/* Remove o background da ultima coluna do mapa do site */
	$('#mapa-site ul li.listas-mapa-site:last').addClass('bg-none');
	
	/* adiciona link no li todo de links relacionados */
	$('.two-column-right .livros-relacionados li').click(function(){
		var link = $(this).find('a').attr('href');
		
		parent.location = link;
	})
	
	/* busca */
 	$(document).ready(function(){
		  
		  $('.busca-detalhada').hide();
	   
	      $('.avancada').click(function(){
				
			$('.busca-detalhada').show('slow');
			$('#avancada').hide('slow');
	   
	   	   });
		   
		});
	
	/*  *******************
	 *  Cadastro 
	 * 
	 * 
	 * 
	 * *********************
	 * */
	
	/* Adiciona escolas que a pessoa trabalhou */
	$('.escola-secretaria').click(function(){
		$('#senha, #confirmacaosenha').val('');
		if($(this).val()==='sim'){
			$('.area-trabalho').hide();
			addSchools();
			$('.senhas').show()
		}
		else{
			$('.escolas .escola-secretaria-detail').remove();
			$('.add-buttons-trabalho, .escolas').hide();
			$('.senhas').hide();
			$('.area-trabalho').show();
		}
	});
	
	$('.add-buttons-trabalho .add-buttontrabalho').click(function(){
		addSchools();
		return false;

		
	})
	
	$('.add-buttons-trabalho .remove-buttontrabalho').click(function(){
		removeSchools();
		return false;

	})
	
	
	/* 
	 * Adiciona campos extras para o caso da área de trabalho ser jornalismo
	 * Ver config em ui.functions.js
	 * 
	 */
	$('#areas').change(function(){
		openFieldsByArea($(this).val(),'.item-selected');
	})
	
	/*
	 * Validacao dos campos
	 * 
	 */
	
	var validateContato = $('.contato').validate({
		rules: {
			nome: "required",
			email: {
				required: true,
				email: true
			},
			assunto: "required",
			mensagem: "required"
		},
		highlight: function(element, errorClass) {
			$(element).parent('p').find('label').addClass('error');
			
			$(element).parents('fieldset').find('label').addClass('error').show();
			
		},
		unhighlight: function(element, errorClass) {
			$(element).parent('p').find('label').removeClass('error').show();
			$(element).parents('fieldset').find('label').removeClass('error').show();
			if(validateContato.numberOfInvalids()==0){
				$('.error-container').fadeOut(500);
			}
		},
		invalidHandler: function(form, validator) {
			
			var errors = validator.numberOfInvalids();
			
			//alert(validator.invalidElements().attr('name'))
			
			if (errors) {
				$('.error-container').fadeIn(500);
			}
			else{
				$('.error-container').fadeOut(500);
			}
		 }
		
	});
	
	
	var validate = $('.cadastro').validate({
		rules: {
			nome: "required",
			cpf: {
				required: true,
				cpf: true
			},
			email: {
				required: true,
				email: true
			},
			estado: "required",
			cidade: "required",
			veiculo: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			editoria: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			escolasecretaria: {
				required: function(element){
					if($('.escola-secretaria:checked').val()=='sim'){
						$('.area-trabalho select, .area-trabalho input').removeClass('required');
						
						$('.escolas select, .escolas input, .senhas input').not('.not-required, .fields-redeensino input, input[type="hidden"]').addClass('required');
						
					}
					else{
						$('.escolas select, .escolas input, .senhas input').not('.not-required').removeClass('required');
						$('.area-trabalho select').addClass('required');
					}
					return true;
					
				}
			},
			confirmacaosenha: {
		      equalTo: "#senha"
		    }
		},
		highlight: function(element, errorClass) {
			$(element).parent('p').find('label').addClass('error');
			
			$(element).parents('fieldset').find('label').addClass('error').show();
			
		},
		unhighlight: function(element, errorClass) {
			$(element).parent('p').find('label').removeClass('error').show();
			$(element).parents('fieldset').find('label').removeClass('error').show();
			if(validate.numberOfInvalids()==0){
				$('.error-container').fadeOut(500);
			}
		},
		invalidHandler: function(form, validator) {
			
			var errors = validator.numberOfInvalids();
			
			//alert(validator.invalidElements().attr('name'))
			
			if (errors) {
				$('.error-container').fadeIn(500);
			}
			else{
				$('.error-container').fadeOut(500);
			}
		 }
		
	});
	
	
	/*
	 *
	 valida fale-conosco
	 */
	 
	 var validate = $('.fale-conosco').validate({
		rules: {
			nome: "required",
			cpf: {
				required: true,
				cpf: true
			},
			email: {
				required: true,
				email: true
			},
			estado: "required",
			cidade: "required",
			mensagem: "required",
			assunto: "required",
			veiculo: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			editoria: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			escolasecretaria: {
				required: function(element){
					if($('.escola-secretaria:checked').val()=='sim'){
						$('.area-trabalho select, .area-trabalho input').removeClass('required');
						
						$('.escolas select, .escolas input, .senhas input').not('.not-required, .fields-redeensino input, input[type="hidden"]').addClass('required');
						
					}
					else{
						$('.escolas select, .escolas input, .senhas input').not('.not-required').removeClass('required');
						$('.area-trabalho select').addClass('required');
					}
					return true;
					
				}
			},
			
		},
		highlight: function(element, errorClass) {
			$(element).parent('p').find('label').addClass('error');
			
			$(element).parents('fieldset').find('label').addClass('error').show();
			
		},
		unhighlight: function(element, errorClass) {
			$(element).parent('p').find('label').removeClass('error').show();
			$(element).parents('fieldset').find('label').removeClass('error').show();
			if(validate.numberOfInvalids()==0){
				$('.error-container').fadeOut(500);
			}
		},
		invalidHandler: function(form, validator) {
			
			var errors = validator.numberOfInvalids();
			
			//alert(validator.invalidElements().attr('name'))
			
			if (errors) {
				$('.error-container').fadeIn(500);
			}
			else{
				$('.error-container').fadeOut(500);
			}
		 }
		
	});
	
	/*  valida-fale-conosco fim */
	
	function receiveInformations(idElement,elementsToFill){
		
		$(idElement).click(function(){
			if($(this).attr('checked')==true){
				$(elementsToFill).addClass('required')
			}
			else{
				$(elementsToFill).val('').removeClass('required');
				$(elementsToFill).parent('p').find('label.error').removeClass('error')
			}
		});
	}
	
	
	receiveInformations('#informacaoessms','#celular');
	receiveInformations('#informacaoestelefone','#telefone');
	receiveInformations('#informacaoescorreio','#cep,#endereco,#endereco,#numero, #bairro');
	
	/* Mascara de itens do formulario */
	maskFields();
	
	/* Carrega combo de cidade/estado */
	loadStateCity('#estado','#cidade');
	
	/* Carrega botoes do projeto */
	loadProjectButtons('#menu-projetos li','.box-o-projeto li');
	loadProjectButtons('#menu-projetos li.butons-click','.box-projeto-pnld div.item-projeto-pnld');
	
	/* Rating */
	loadingRate('.rate li');
	
	/* Remove acao do link */
	removeLinkActions('.book-content .tabs li a, .book-content .rate a, .book-content .remove-rating a, .canal-content li a, .menu-projetos li a');
	
	/* Filtro por tema Canal do Professor*/
	
	//abaFiltraRecursos('.recursos-tema');
	//toogleResult('.resultados .resultado h4', '.resultados .resultado .content-result');
	
	/* Expande/Contrai lista de recursos */
	$('.return-resource h4, .return-resource h5, .return-resource h6').click(function(){
		
		if ($(this).nextAll('ul').size() > 0) {
			if ($(this).nextAll('ul:visible').size() > 0) {
				$(this).removeClass('on');
				$(this).text($(this).text().replace('-', '+'));
			}
			else {
				$(this).addClass('on');
				$(this).text($(this).text().replace('+', '-'));
			};
		};
		
		$(this).nextAll('ul').toggle('slow');
		
	});
	
	/* Contato para selecionar servicos educacionais*/
	if($('.contato').size()==1){
		var hash = window.location.hash;
		
		if(hash!=''){
			if(hash==='#servicos-educacionais'){
				$('#assunto').val(5);
			}
		}
	}
	
	/* Trabalha numa escola */
	/*if ($('.cadastro').size() == 1) {
		var hash = window.location.hash;
		
		if (hash == '#secretaria-checked') {
			$('#escola-secretaria-sim').checked=true;
			$('.escola-secretaria')[0].click();
		}
	}*/
	if ($('#escola-secretaria-sim').size() > 0) {
		$('#escola-secretaria-sim').checked = true;
		$('.escola-secretaria')[0].click();
	}
	
	$('.bt-enviar').hover(
		function(){
			$(this).addClass('on');	
		},
		function(){
			$(this).removeClass('on');
		}
	);
	
	
	/*try {
		$(".cep").mask("99999-999");
		$(".telefone").mask("(99) 9999-9999");
		$(".cnpj").mask("99.999.999/9999-99");
		$(".cpf").mask("999.999.999-99");
		$('.date').mask("99/99/9999");

	} catch (err) {
	};*/
	
	$('.cadastraTrabalho ul').keypress(function(event){
		if(event.keyCode===13){
			$(this).find('.next-step').click();
			return false;
		}
		//event.keyCode == 13;
		
	});
	
	
	if($('#lateral-menu li li.on').size()>0){
		$('#lateral-menu li li.on').parents('ul').parent('li').addClass('on');
		$('#lateral-menu li li.on').parent('ul').parent('li').addClass('on');
		$('#lateral-menu li li.on').parent('ul').show();
	}
	
	/*if($('#lateral-menu li li li.on').size()>0){
		$('#lateral-menu li li li.on').parent('ul').parent('li').addClass('on');
		$('#lateral-menu li li li.on').parent('ul').show();
	}*/
	
	$('#lateral-menu li h2').click(function(){
		if ($(this).parent('li.on').size() == 0) {
		
		
			$('#lateral-menu li.on').removeClass('on');
			$('#lateral-menu li ul').hide();
			$(this).parent('li').addClass('on');
			$(this).next('ul').show(1000);
		}
	});
	
	$('#lateral-menu li h3').click(function(){
		
		if ($(this).parent('li.on').size() == 0) {
			$('#lateral-menu li li.on').removeClass('on');
			$('#lateral-menu li li ul').hide();
			$(this).parent('li').addClass('on');
			$(this).parent('li').parent('li').addClass('on');
			$(this).next('ul').show(1000);
		}
	});
	
	$('.alteraDadosPessoais,.alteraDadosInstituicao').click(function(event){
		event.preventDefault();
		var classOpen = $(this).attr('class');
		classOpen = classOpen.replace('alteraD','.d');
		$('.cadastraTrabalho ul, .error-container').hide();
		$(classOpen).show(); 
	});
	
	$('.cadastraTrabalho .next-step,.cadastraTrabalho #bt-enviar, .cadastraTrabalho #bt-salvar-pessoal, .cadastraTrabalho #bt-salvar-institucional').click(function(event){
		//
		
		prepareForm(this);
		var idButton = $(this).attr('id');
		if (idButton == 'bt-enviar'||idButton == 'bt-salvar-pessoal'||idButton == 'bt-salvar-institucional') event.preventDefault();
		
		$(this).parent('li').parent('ul').find('.required').each(function(){
			if (this.tagName.toLowerCase() == 'fieldset') {
				if ($(this).find('input:checked').length == 0) 
					addErrorClass($(this).find('label:first'));
			}
			else {
				if (!isFilled($(this).val())) {
					
					addErrorClass($(this));
					
					
				}
			}
		});
		
		$(this).parent('li').parent('ul').find('.cnpj').each(function(){
			if(!isCNPJ($(this))) addErrorClass($(this));
		});
		
		$(this).parent('li').parent('ul').find('.cpf').each(function(){
			if(!isCPF($(this))) addErrorClass($(this));
		});
		
		$(this).parent('li').parent('ul').find('.email').each(function(){
			if(!isEmail($(this))) addErrorClass($(this));
		});
		
		/*$(this).parent('li').parent('ul').find('.url').each(function(){
			if(!isURL($(this))) addErrorClass($(this));
		});
		*/
		$(this).parent('li').parent('ul').find('.senhaPessoal').each(function(){
			if ($('.senhaPessoal').val() != $('.confSenhaPessoal').val()) {
				addErrorClass($('.senhaPessoal'));
				addErrorClass($('.confSenhaPessoal'));
			}
		});
		
		$(this).parent('li').parent('ul').find('.inicioTrabalho').each(function(){
			var inicio = $('#inicioTrabalho').val();
			var fim = $('#fimTrabalho').val()
			if(isFilled(inicio)&&isFilled()){
				inicio = inicio.split('/');
				fim = fim.split('/');
				
				inicio = inicio[2]+inicio[1]+inicio[0];
				fim = fim[2]+fim[1]+fim[0];
				if(fim<inicio){
					addErrorClass($('#fimTrabalho'));
				}
			}
		});
		
		$(this).parent('li').parent('ul').find('.trabalho').each(function(){
			if(!isAcceptFile($(this).val(),$(this),'pdf|doc|docx')) addErrorClass($(this));
		});
		
		// Remove Campos Escondidos
		$('.hideFields div:hidden .error').removeClass('error');
		
		if($(this).parent('li').parent('ul').find('.error').size()===0){
			if (idButton == 'bt-enviar'||idButton == 'bt-salvar-pessoal'||idButton == 'bt-salvar-institucional') {
				
				$('.cadastraTrabalho').submit();
			}
			else {
				var numeroEtapa = $(this).parent('li').parent('ul').attr('class');
				numeroEtapa = numeroEtapa.replace('etapa', '');
				numeroEtapa = parseInt(numeroEtapa) + 1;
				arrEtapas = ['','- Dados institucionais','- Dados do coordenador do trabalho','- Dados do trabalho','- Upload do arquivo']
				
				$('#leftSide h2').text('Etapa ' + numeroEtapa + ' de 4 ' + arrEtapas[numeroEtapa]);
				$('.error-container').hide();
				$(this).parent('li').parent('ul').hide();
				$('ul.etapa' + numeroEtapa).show();
			}
		}
		
		parent.location='#inscricao-ficha';
		
		return false;
	});
	
	$('form.forgot-password').submit(function(){
		
		var pathArray = this.action;
		var booValidation = true;
		var url = 'http://www.educacaoemdireitoshumanos.org.br/?page_id=368';
		var email = $(".forgot-password #forgot-email").val();
			
		$('.forgot-password label,.forgot-password input').not('.btn-ok').removeClass('error')
		$('.forgot-password p.error-container').hide();
	
		if (jQuery.trim(email) != '') {
			booValidation = validaEmail(email)
		} else {
			booValidation = false
		}
		
		if (booValidation) {
	
			$.post(url, {
				email : email
	
			}, function(data) {
	
				if (data == 1) {
					$('#forgot-password').hide();
					$('.senha-enviada').show();
				}
				else {
					$('.forgot-password p.email-naocadastrado').show();
				}
	
			})
		} else {
			$('.forgot-password label, .forgot-password input').not('.btn-ok').addClass('error')
			$('.forgot-password p.nao-preenchido').show();
		}

		return false;
	});
	
});


prepareForm = function(linkNext){
	$(linkNext).parent('li').parent('ul').find('.error').removeClass('error');
}

addErrorClass = function(element){
	$(element).addClass('error');
	$(element).prevAll('label').addClass('error');
	$('.error-container').show(1000)
}

removeErrorClass = function(element){
	$(element).removeClass('error');
	$(element).prevAll('label').removeClass('error');
	$('.error-container').hide(1000)
}

isCNPJ = function(element) {
	var v=$(element).val();
	if(!isFilled(v))return false;
	v = v.replace('.','');
	v = v.replace('.','');
	v = v.replace('/','');
	v = v.replace('-','');
	
	var m=['543298765432','6543298765432'];
	var d=[0,0];
	for(var t=0;t<2;t++){
		for(x=0;x<13;x++){
			if((t==0&&x!=12)||t==1)d[t]+=(parseInt(v.slice(x,x+1))*parseInt(m[t].slice(x,x+1)));
		}
		d[t]=(d[t]*10)% 11;
		if(d[t]==10)d[t]=0;
	}
	return(d[0]==parseInt(v.slice(12,13))&&d[1]==parseInt(v.slice(13,14)));
}

isCPF = function(element) {
	var s=null;
	var r=null;
	var v=$(element).val();
	if(!isFilled(v))return false;
	v = v.replace('.','');
	v = v.replace('.','');
	v = v.replace('-','');
	
	if(v.length!=11||v.match(/1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}/)){
		return false;
	}else{
		s=0;
		for(var i=0;i<9;i++)s+=parseInt(v.charAt(i))*(10-i);
		r=11-(s%11);
		if(r==10||r==11)r=0;
		if(r!=parseInt(v.charAt(9))){
			return false;
		}else{
			s=0;
			for(var i=0;i<10;i++)s+=parseInt(v.charAt(i))*(11-i);
			r=11-(s%11);
			if(r==10||r==11)r=0;
			if(r!=parseInt(v.charAt(10))){
				return false;
			}else{
				return true;
			}
		}
	}
}

isEmail = function(element){
	var v=$(element).val();
	if(!isFilled(v))return true;
	return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(v);
}
/*
isURL = function(element){
	var v=$(element).val();
	if(!isFilled(v))return true;
	return/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(v);
}
*/
isAcceptFile = function(value, element, param){
	param = typeof param == "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif";
	return value.match(new RegExp(".(" + param + ")$", "i")); 
}

isFilled = function(fieldValue){
	return jQuery.trim('' + fieldValue)!='';
}



