Learn how to use jQuery at the Blog

Zupadupa « visit

  • Added 9 months ago
  • 337 Lines of Code shown
  • 1 Links of Interest
http://zupadupa.ro
This is my Source Code and I don't want to show it here
View Source Code only (as overlay)
// That code snippet belongs to Zupadupa - http://zupadupa.ro

var lang='ro';
var url;
var ie6=($.browser.msie && $.browser.version=='6.0')?true:false;

$(window).load(function () {
	$('#loading').fadeOut('fast');
});

$(document).ready(function(){

	// css
	var w = $(window).width();
	var h = $(window).height();

	$('#site,#loading').css({
		width: w,
		height: h
	});

	// language
	setLang();
	detectLang();

	// css change
	$('.changeLang').click(function(){

		var newLang = $('.changeLang').attr('rel');
		if(newLang=='en') {

			$('#lang-en').attr('href','css/style-en.css');
			if(ie6) $('#ie-lang-en').attr('href','css/ie6-en.css');
			$(this).attr('rel','ro');

			url = window.location.hash;
			if(url) {
				if(url=='#acasa') url='#home';
				else if(url=='#despre') url='#about';
				else if(url=='#proiecte') url='#projects';
				window.location=url;
			}

			setHtml('en');

		} else {

			$('#lang-en').attr('href','');
			if(ie6) $('#ie-lang-en').attr('href','');
			$(this).attr('rel','en');

			url = window.location.hash;
			if(url) {
				if(url=='#home') url='#acasa';
				else if(url=='#about') url='#despre';
				else if(url=='#projects') url='#proiecte';
				window.location=url;
			}

			setHtml('ro');

		}

	});

	// reset projects list
	plist(1);

	// scrollTo click
	$('#next').click(function(){ block(2); });
	$('#button-right').click(function(){ plist(2); });

	// :hover ie fix :(
	if($.browser.msie) {
		$('#menu').mouseover(function(){ $(this).addClass('hover'); }).mouseout(function(){ $(this).removeClass('hover'); });
	}

});

// scroll
var scrollWorking = false;
function block(id) {

	// lang
	detectLang();

	if(!scrollWorking) {
		// check scroll working
		scrollWorking = true;

		// scroll
		$('#site').scrollTo('#block_'+id, {
			duration:1000,
			axis: 'x',
			onAfter: function(){ scrollWorking = false; }
		});

		// check left
		if(id>1 && $('#prev').is(':hidden')) {
			$('#prev').fadeIn('fast');
		} else if (id==1) {
			$('#prev').fadeOut('fast');
		}

		// check right
		if(id<4 && $('#next').is(':hidden')) {
			$('#next').fadeIn('fast');
		} else if (id==4) {
			$('#next').fadeOut('fast');
		}

		// onClick set
		if(id==1) {
			$('#next').unbind('click').click(function(){ block(2); });

			// lang
			if(lang=='ro') {
				$('#prev').attr('href','#acasa');
				$('#next').attr('href','#despre');
			} else {
				$('#prev').attr('href','#home');
				$('#next').attr('href','#about');
			}

		} else if(id==2) {

			$('#prev').unbind('click').click(function(){ block(1); });
			$('#next').unbind('click').click(function(){ block(3); });

			// lang
			if(lang=='ro') {
				$('#prev,#next').attr('href','#despre');
			} else {
				$('#prev,#next').attr('href','#about');
			}

		} else if(id==3) {

			$('#prev').unbind('click').click(function(){ block(2); });
			$('#next').unbind('click').click(function(){ block(4); });

			// lang
			if(lang=='ro') {
				$('#prev,#next').attr('href','#proiecte');
			} else {
				$('#prev,#next').attr('href','#projects');
			}

		} else if(id==4) {

			$('#prev').unbind('click').click(function(){ block(3); });
			$('#next').attr('href','#contact');

			// lang
			if(lang=='ro') {
				$('#prev').attr('href','#proiecte');
			} else {
				$('#prev').attr('href','#projects');
			}

		}
	}

}

// project list
var plistScroll = false;
function plist(id) {

	if(!plistScroll) {
		plistScroll = true;

		var nrDivs = $('#project_list').children().size();
		nrDivs = parseInt(nrDivs)-1;

		if(id>1 && $('#button-left').is(':hidden'))
			$('#button-left').fadeIn('fast');
		if(id>1 && id<=(nrDivs-2))
			$('#button-left').unbind('click').click(function(){ plist((id-1)); });
		else
			$('#button-left').fadeOut('fast');

		if(id>=(nrDivs-2) && $('#button-right').is(':visible'))
			$('#button-right').fadeOut('fast');
		else {
			$('#button-right').fadeIn('fast');
			$('#button-right').unbind('click').click(function(){ plist((id+1)); });
		}

		$('#project_big').scrollTo('#plist_'+id, {
			duration:1000,
			axis: 'x',
			onAfter: function(){ plistScroll = false; }
		});

	}

}

// anti spam
function antiSpam(mail,domain) {

	document.write('<a href="mailto:'+mail+'@'+domain+'">'+mail+'@'+domain+'</a>');

}

// language
function setLang() {

	// url
	url = window.location.hash;

	// lang
	if(url) {
		if(url=='#acasa' || url=='#despre' || url=='#proiecte' || url=='#contact') { lang='ro'; $('.changeLang').attr('rel','en'); }
		else { lang='en'; $('.changeLang').attr('rel','ro'); }
	} else {
		lang='ro';
		$('.changeLang').attr('rel','en');
	}

	if(lang=='en') {
		$('#lang-en').attr('href','css/style-en.css');
		if(ie6) $('#ie-lang-en').attr('href','css/ie6-en.css');

		setHtml('en');
	}

	// block
	if(url) {

		if(url=='#acasa' || url=='#home') block(1);
		else if(url=='#despre' || url=='#about') block(2);
		else if(url=='#proiecte' || url=='#projects') block(3);
		else if(url=='#contact') block(4);

	} else {
		block(1);
		window.location=(lang=='ro'?'#acasa':'#home');
	}

}

function detectLang() {

	lang = $('.changeLang').attr('rel');
	lang = (lang=='en')?'ro':'en';

}

function setHtml(lng) {

	if(lng=='en') {

		$('#menu > ul').html('<li><a href="#home" onclick="javascript:block(1);">home</a></li><li><a href="#about" onclick="javascript:block(2);">about</a></li><li><a href="#projects" onclick="javascript:block(3);">projects</a></li><li><a href="#contact" onclick="javascript:block(4);">contact</a></li>');

		$('#textDespreNoi').html('<h1>Hi!</h1><h2>We are zupadupa, a web agency from Cluj Napoca</h2><h3>and we offer <strong>web design</strong> services, <strong>web development</strong>, marketing and online ads, web consulting, branding and rebranding.</h3><h3>We\'ve made big and small <a href="#projects" onclick="javascript:block(3);">projects</a>, and we dedicate our full atention on perfection and functionality.</h3><h3><a href="#contact" onclick="javascript:block(4);">Contact</a> us to set a meeting and build a working plan.</h3>');

		$("a[href='#acasa']").attr('href','#home');
		$("a[href='#despre']").attr('href','#about');
		$("a[href='#proiecte']").attr('href','#projects');

	} else {

		$('#menu > ul').html('<li><a href="#acasa" onclick="javascript:block(1);">acasa</a></li><li><a href="#despre" onclick="javascript:block(2);">despre</a></li><li><a href="#proiecte" onclick="javascript:block(3);">proiecte</a></li><li><a href="#contact" onclick="javascript:block(4);">contact</a></li>');

		$('#textDespreNoi').html('<h1>Salut!</h1><h2>Suntem zupadupa, o agen&#355;ie web din Cluj Napoca</h2><h3>&#351;i oferim servicii de <strong title="Web design pentru Cluj, Bucuresti, Brasov, Timisoara Romania">web design</strong>, <strong title="Web development pentru Cluj, Bucuresti, Brasov, Timisoara Romania">web development</strong>, comert electronic, marketing &#351;i publicitate online, consultan&#355;&#259; web, branding &#351;i rebranding.</h3><h3>Am f&#259;cut <a href="#proiecte" onclick="javascript:block(3);">proiecte</a> mari &#351;i mici, &#351;i ne-am dedicat toat&#259; aten&#355;ia asupra detaliilor &#351;i func&#355;ionalit&#259;&#355;ii.</h3><h3><a href="#contact" onclick="javascript:block(4);">Contacta&#355;i-ne</a> pentru a stabili o &#238;nt&#226;lnire &#351;i s&#259; punem la punct un "plan de b&#259;taie".</h3>');

		$("a[href='#home']").attr('href','#acasa');
		$("a[href='#about']").attr('href','#despre');
		$("a[href='#projects']").attr('href','#proiecte');

	}

}

function contact() {

	var error = 0;
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

	var nume = $('#form_nume').val();
	var mail = $('#form_mail').val();
	var tel = $('#form_tel').val();
	var msg = $('#form_msg').val();

	if(nume.length==0) { $('#validate-name').text('introdu nume').fadeIn('fast'); error=1; }
		else if($('#validate-name').is(':visible')) { $('#validate-name').fadeOut('fast'); }

	if(mail.length==0) { $('#validate-mail').text('introdu e-mail').fadeIn('fast'); error=1; }
	else if(mail.length>0 && !filter.test(mail)) { $('#validate-mail').text('e-mail invalid').fadeIn('fast'); error=1; }
	else if($('#validate-mail').is(':visible')) { $('#validate-mail').fadeOut('fast'); }

	if(tel.length==0) { $('#validate-phone').text('introdu nr. tel.').fadeIn('fast'); error=1; }
	else if(tel.length>0 && (tel.length<6 || tel.length>12)) { $('#validate-phone').text('nr. tel. incorect').fadeIn('fast'); error=1; }
		else if($('#validate-phone').is(':visible')) { $('#validate-phone').fadeOut('fast'); }

	if(msg.length==0) { $('#validate-message').text('introdu mesaj').fadeIn('fast'); error=1; }
		else if($('#validate-message').is(':visible')) { $('#validate-message').fadeOut('fast'); }

	if(error==0) {

		$('.contact-bg').fadeOut('fast',function(){

			$('#contact-loading').fadeIn('fast',function(){

				$.post('ajax.php?a=contact',
					{
						nume: nume,
						mail: mail,
						tel: tel,
						msg: msg,
						limba: lang
					},
					function(data){

						$('#contact-loading').fadeOut('fast',function(){
							if(data==1) {

								$('#contact-done').text((lang=='ro')?'Mesajul dvs. a fost trimis. Va multumim!':'Your message has been send. Best regards!').fadeIn('fast');
								setTimeout(function(){
									$('#contact-done').text('').fadeOut('fast',function(){
										$('#form_msg').val('');
										$('.contact-bg').fadeIn('fast');
									});
								},10000);

							} else $('.contact-bg').fadeIn('fast');
						});

					});

			});

		});

	}

}