///////////////////////
// Variabile globale //
///////////////////////

// Oferte speciale
var offers; // Daca mouse-ul e in oferte sau nu
var currOffer = 2; // Oferta curenta afisata
var totalOffers = 4; // Totalul ofertelor afisate
var timedOffers = 4000; // Intervalul de schimbare oferte
var timedOffers_bk = timedOffers; // Intervalul de schimbare oferte (backup)
var offersLive = 1;

// Functii
$(document).ready(function() {
	// Event-uri
    $(document).ready(function () {
		// Meniu stanga
		/*$("span.brands").hoverIntent(function() {
			$("span.brands span.slide").slideDown();
		}, function() {
			$("span.brands span.slide").slideUp();
		});*/
		
		// Oferte speciale
		$("div.images img, div.navBg, ul.previewNav").hover(function() {
			offers = 1;
			setTimeout('showOffNav()', 100);
		}, function() {
			if(offersLive == 1) {
				offers = 0;
				setTimeout('hideOffNav()', 100);
			}
		});
		
		// Animatie oferte speciale
		playOffers();
		
		// Checkbox-uri
		$('fieldset.brand span, fieldset.sex span, fieldset.color span, fieldset.size span').each(function() {
			$(this).find("input").hide();
			var status = $(this).find("input").attr("checked");
			if(status == true) $(this).find("label").addClass("sel");
			else if(status == false) $(this).find("label").removeClass("sel");
		});
		
		// Initializare detectare locatie
		initialize();
		
	},function(){});
});

function checkBox(item) {
	var status = $("#"+item).find("input").attr("checked");
	if(status == true) { $("#"+item).find("label").removeClass("sel"); $("#"+item).find("input").attr("checked", ""); }
	else { $("#"+item).find("label").addClass("sel"); $("#"+item).find("input").attr("checked", "checked"); }
}

function showOffNav() {
	if(offers == 1) {
		$("div.navBg").fadeIn();
		$("ul.previewNav").fadeIn();
	}
}

function hideOffNav() {
	if(offers == 0) {
		$("div.navBg").fadeOut();
		$("ul.previewNav").fadeOut();
	}
}

function changeOffer(id) {
	// Change offer
	var newX = (id-1)*678*(-1);
	if(id > totalOffers) {
		$("div.offers div.images").animate({left: newX+"px"}, {duration: 500, easing: 'easeOutQuad'}).animate({left: "0px"}, 0);
		id=1;
		// Get offer title
		var title = $(".off"+id+" img").attr("alt");
	} else {
		$("div.offers div.images").animate({left: newX+"px"}, {duration: 500, easing: 'easeOutQuad'});
		// Get offer title
		var title = $(".off"+id+" img").attr("alt");
	}
	// Set ofer title and subtitle
	$("#pCaption").fadeOut("normal", function callback() {
		$("#pCaption").html(title);
		$("#pCaption").fadeIn();
	});

	// Set offer # selected
	$("ul.previewNav li em").removeClass("sel");
	$("ul.previewNav li em#nv"+id).addClass("sel");
	currOffer = id;
}

function clickChangeOffer(id) {
	changeOffer(id);
	currOffer = id+1; 
	if(offersLive == 1) {
		$("span.bar").stop().animate({width: "0px"}, 0);
		playOffers();
	}
}

function playOffers() {
	// Recalculare in functie de unpause si pozitia ramasa;
	var barWidth = $("span.bar").css("width");
	barWidth = parseInt(barWidth);
	if(barWidth > 0) {
		timedOffers -= timedOffers*barWidth/100;
	}
	
	// Timer animation
	$("span.bar").animate({width: "100px"}, timedOffers, "linear", function() {
		if(currOffer <= totalOffers) {
			changeOffer(currOffer);
			currOffer++;
		} else if(currOffer > totalOffers) {
			changeOffer(totalOffers+1);
			currOffer = 2;
		}
		$("span.bar").animate({width: "0px"}, 0);
		timedOffers = timedOffers_bk;
		playOffers();
	});
}

function pauseOffers() {
	if(offersLive == 1) {
		// Pause
		offersLive = 0;
		$("img.play").show();
		$("img.pause").hide();
		$("span.bar").stop();
	} else {
		// Unpause
		offersLive = 1;
		$("img.play").hide();
		$("img.pause").show();
		playOffers();
	}
}


// Animatie meniu
function openMenu(key) {
	if($("ul#subMenu"+key).html() == null) return true;
	$("ul.menus").slideUp();
	$("ul#subMenu"+key).slideDown();
	$('html, body').animate({scrollTop:0}, 'slow');
	return false;
}
function auto_openMenu(key) {
	$(document).ready(function() {
		if(key != undefined) $("ul#subMenu"+key).show();
		else $("ul.menus:first").show();
	});
}

function openFilters() {
	$(".filters").slideDown("slow");
	$(".filterOptions").hide();
	return false;
}

function closeFilters() {
	$("#zoomApp_bg").hide();
	$(".filters").hide();
	return false;
}

function openZoom() {
	$("#zoomApp_bg").fadeIn(2000);
	$("#zoomApp").show();
	document.title = "Imagini cu "+$("#prodName").html();
	return false;
}

function closeZoom() {
	$("#zoomApp_bg").hide();
	$("#zoomApp").hide();
	document.title = $("#prodName").html();
}

function navImg(param) {
	var total = parseInt($("#zoomCount").html());
	var current = parseInt($("#current").html());
	var old = current;
	
	// Incrementare
	if(param == 'prev') current--;
	else if(param == 'next') current++;
	
	if(current > total-1) current = 0;
	else if(current < 0) current = (total-1);
	
	// Tranzitie
	$("#zImg_"+old).fadeOut('fast', function() {
		$("#zImg_"+current).fadeIn();
	});
	
	// Afisare text
	$("#zoomApp li.info span").html('Poza '+(current+1)+' din '+total);
	
	// Introducere date noi
	$("#current").html(current);
	
	return false;
}

function addToCart() {
	var oneChecked = false;
	a = $("form#addToCart :checkbox").each(function() {
		if(this.checked == true) oneChecked = true;
	});
	if(oneChecked == false) {
		alert("Trebuie sa selectezi si marimea ce doresti sa o adaugi in cos.");
		return false;
	}
}

function emptyCart() {
	if(!confirm("Chiar doresti sa golesti cosul?")) return false;
	
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function initialize() {
	dhtmlHistory.initialize();
	var initialLocation = dhtmlHistory.getCurrentLocation();
	dhtmlHistory.addListener(handleHistoryChange);
}

function handleHistoryChange(newLocation, historyData) {
	var productName = $("#prodName").html();
	if(newLocation == "" && productName != null) { closeZoom(); }
	if(newLocation == "" && productName == null) { closeFilters(); }
}

//

function changeClientType(type) {
	if(type == 1) {
		$("span#form_jur01, span#form_jur02, span#form_jur03, span#form_jur04, span#form_jur05").hide();
	} else {
		$("span#form_jur01, span#form_jur02, span#form_jur03, span#form_jur04, span#form_jur05").show();
	}
}

function addDelivery(type) {
	if(type == 0) $("fieldset.clone").hide();
	else $("fieldset.clone").show();
}

function isPassword(str) {
	var letterFilter = /[a-zA-Z]/;
	var numberLetterAnd_Filter = /\W/;
	if((numberLetterAnd_Filter.test(str)) || (!letterFilter.test(str.charAt(0)))) return false;
	else return true;
}

function isLen(str, min, max) {
	if(str.length < min || str.length > max) return false;
	else return true;
}

function verifyEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) return true; else return false;
}

function registerValidate() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	// Setare campuri verificate
	client =			$("input#cl1").attr("checked");
	prenume = 			$("input[name=prenume]").attr("value");
	nume =				$("input[name=nume]").attr("value");
	telefon =			$("input[name=telefon]").attr("value");
	adresa =			$("input[name=adresa]").attr("value");
	localitate =		$("input[name=localitate]").attr("value");
	judet =				$("select[name=judet]").attr("value");
	
	// Detalii pentru firme
	firma =				$("input[name=firma]").attr("value");
	regcom =			$("input[name=regcom]").attr("value");
	cui =				$("input[name=cui]").attr("value");
	iban =				$("input[name=iban]").attr("value");
	banca =				$("input[name=banca]").attr("value");
	
	// Detalii livrare
	shipment =			$("input#sh1").attr("checked");
	l_adresa =			$("input[name=l_adresa]").attr("value");
	l_localitate =		$("input[name=l_localitate]").attr("value");
	l_judet =			$("select[name=l_judet]").attr("value");
	
	// Detalii cont
	email =				$("input[name=email]").attr("value");
	parola =			$("input[name=parola]").attr("value");
	testparola =		$("input[name=testparola]").attr("value");
	
	// Termenii si conditiile
	terms = 			$("input[name=terms]").attr("checked");
	
	// Validare campuri neutre
	if(prenume == '') { errors += "- Prenumele nu a fost completat\n"; errCount++; }
	if(nume == '') { errors += "- Numele nu a fost completat\n"; errCount++; }
	if(telefon == '') { errors += "- Numarul de telefon nu a fost completat\n"; errCount++; }
	if(adresa == '') { errors += "- Adresa nu a fost completata\n"; errCount++; }
	if(localitate == '') { errors += "- Localitatea nu a fost completata\n"; errCount++; }
	if(judet == '') { errors += "- Judetul nu a fost completat\n"; errCount++; }
	
	// Validare tip de utilizator
	if(client == true) {
		// Persoana fizica
	} else {
		// Persoana juridica
		if(firma == '') { errors += "- Numele firmei nu a fost completat\n"; errCount++; }
		if(regcom == '') { errors += "- Numarul de ordine in reg. comertului nu a fost completat\n"; errCount++; }
		if(cui == '') { errors += "- Codul unic de inregistrare nu a fost completat\n"; errCount++; }
		if(iban == '') { errors += "- Codul IBAN nu a fost completat\n"; errCount++; }
		if(banca == '') { errors += "- Denumirea bancii nu a fost completata\n"; errCount++; }
	}
	
	// Validare tip livrare
	if(shipment == false) {
		// Adresa de facturare diferita de adresa de livrare
		if(l_adresa == '') { errors += "- Adresa de livrare nu a fost completata\n"; errCount++; }
		if(l_localitate == '') { errors += "- Localitatea de livrare nu a fost completata\n"; errCount++; }
		if(l_judet == '') { errors += "- Judetul de livrare nu a fost completat\n"; errCount++; }
	}
	
	// Validare date cont
	if(email == '') { errors += "- Adresa de e-mail nu a fost completata\n"; errCount++; }
	else if(verifyEmail(email) == false) { errors += "- Adresa de e-mail nu este valida\n"; errCount++; }
	
	if(parola == '') { errors += "- Parola nu a fost completata\n"; errCount++; }
	else if(!isPassword(parola)) { errors += "- Parola nu poate contine decat litere si cifre iar primul caracter trebuie sa fie neaparat litera\n"; errCount++; }
	else if(!isLen(parola,5,30)) { errors += "- Parola trebuie sa aiba o lungime cuprinsa intre 5 si 30 de caractere\n"; errCount++; }
	
	if(testparola == '') { errors += "- Parola nu a fost confirmata\n"; errCount++; }
	else if(parola != testparola) { errors += "- Parolele nu coincid\n"; errCount++; }
	
	if(!terms) { errors += "- Trebuie sa fii de acord cu termenii si condtiile noastre pentru a poseda un cont\n"; errCount++; }
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function auth() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	// Setare campuri verificate
	email = 			$("input[name=email]").attr("value");
	parola = 			$("input[name=parola]").attr("value");
	
	// Validare campuri
	if(email == '') { errors += "- Email-ul nu fost completat\n"; errCount++; }
	else if(verifyEmail(email) == false) { errors += "- Adresa de e-mail nu este valida\n"; errCount++; }
	
	if(parola == '') { errors += "- Parola nu a fost completata\n"; errCount++; }
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function contact() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	// Setare campuri verificate
	fullname = 			$("input[name=fullname]").attr("value");
	email = 			$("input[name=email]").attr("value");
	message = 			$("textarea[name=message]").attr("value");
	
	// Validare campuri
	if(fullname == '') { errors += "- Numele a fost omis\n"; errCount++; }
	if(email == '') { errors += "- Email-ul nu fost completat\n"; errCount++; }
	else if(verifyEmail(email) == false) { errors += "- Adresa de e-mail nu este valida\n"; errCount++; }
	if(message == '') { errors += "- Mesajul tau lipseste\n"; errCount++; }
	
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function payM(type) {
	if(type == 1) {
		$("#taxaRamburs").show();
		$("#total1").hide();
		$("#total2").show();
		$("input[name=buyMethod]").attr("value",1);
	} else {
		$("#taxaRamburs").hide();
		$("#total1").show();
		$("#total2").hide();
		$("input[name=buyMethod]").attr("value",2);
	}
	// Refacere calculare puncte
	recalculare();
}

function nextStep() {
	// Setare camp verificat
	//payType = $("input[name=buyMethod]").attr("value");
	
	// Validare
	//if(payType == '') { alert('Nu ai selectat o metoda de plata'); return false; }
	
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function formInit() {
	$(document).ready(function() {
		// Verificare tip client
		client = $("input#cl1").attr("checked");
		if(client == false) {
			// Persoana juridica, afisare campuri aditionale
			changeClientType(2);
		}
		
		// Verificare tip livrare
		shipment = $("input#sh1").attr("checked");
		if(shipment == false) {
			// Livrare pe o a doua adresa
			addDelivery(2);
		}
	});
}

function sendOrder() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	// Setare campuri verificate
	client =			$("input#cl1").attr("checked");
	prenume = 			$("input[name=prenume]").attr("value");
	nume =				$("input[name=nume]").attr("value");
	telefon =			$("input[name=telefon]").attr("value");
	adresa =			$("input[name=adresa]").attr("value");
	localitate =		$("input[name=localitate]").attr("value");
	judet =				$("select[name=judet]").attr("value");
	email =				$("select[name=email]").attr("value");
	
	// Detalii pentru firme
	firma =				$("input[name=firma]").attr("value");
	regcom =			$("input[name=regcom]").attr("value");
	cui =				$("input[name=cui]").attr("value");
	iban =				$("input[name=iban]").attr("value");
	banca =				$("input[name=banca]").attr("value");
	
	// Detalii livrare
	shipment =			$("input#sh1").attr("checked");
	l_adresa =			$("input[name=l_adresa]").attr("value");
	l_localitate =		$("input[name=l_localitate]").attr("value");
	l_judet =			$("select[name=l_judet]").attr("value");
	
	// Termenii si conditiile
	terms = 			$("input[name=terms]").attr("checked");
	
	// Validare campuri neutre
	if(prenume == '') { errors += "- Prenumele nu a fost completat\n"; errCount++; }
	if(nume == '') { errors += "- Numele nu a fost completat\n"; errCount++; }
	if(telefon == '') { errors += "- Numarul de telefon nu a fost completat\n"; errCount++; }
	if(adresa == '') { errors += "- Adresa nu a fost completata\n"; errCount++; }
	if(localitate == '') { errors += "- Localitatea nu a fost completata\n"; errCount++; }
	if(judet == '') { errors += "- Judetul nu a fost completat\n"; errCount++; }
	
	// Validare tip de utilizator
	if(client == true) {
		// Persoana fizica
	} else {
		// Persoana juridica
		if(firma == '') { errors += "- Numele firmei nu a fost completat\n"; errCount++; }
		if(regcom == '') { errors += "- Numarul de ordine in reg. comertului nu a fost completat\n"; errCount++; }
		if(cui == '') { errors += "- Codul unic de inregistrare nu a fost completat\n"; errCount++; }
		if(iban == '') { errors += "- Codul IBAN nu a fost completat\n"; errCount++; }
		if(banca == '') { errors += "- Denumirea bancii nu a fost completata\n"; errCount++; }
	}
	
	// Validare tip livrare
	if(shipment == false) {
		// Adresa de facturare diferita de adresa de livrare
		if(l_adresa == '') { errors += "- Adresa de livrare nu a fost completata\n"; errCount++; }
		if(l_localitate == '') { errors += "- Localitatea de livrare nu a fost completata\n"; errCount++; }
		if(l_judet == '') { errors += "- Judetul de livrare nu a fost completat\n"; errCount++; }
	}
	
	if(!terms) { errors += "- Trebuie sa fii de acord cu termenii si condtiile acestui site pentru a efectua o comanda\n"; errCount++; }
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function modifyInfo() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	// Setare campuri verificate
	client =			$("input#cl1").attr("checked");
	prenume = 			$("input[name=prenume]").attr("value");
	nume =				$("input[name=nume]").attr("value");
	telefon =			$("input[name=telefon]").attr("value");
	adresa =			$("input[name=adresa]").attr("value");
	localitate =		$("input[name=localitate]").attr("value");
	judet =				$("select[name=judet]").attr("value");
	
	// Detalii pentru firme
	firma =				$("input[name=firma]").attr("value");
	regcom =			$("input[name=regcom]").attr("value");
	cui =				$("input[name=cui]").attr("value");
	iban =				$("input[name=iban]").attr("value");
	banca =				$("input[name=banca]").attr("value");
	
	// Detalii livrare
	shipment =			$("input#sh1").attr("checked");
	l_adresa =			$("input[name=l_adresa]").attr("value");
	l_localitate =		$("input[name=l_localitate]").attr("value");
	l_judet =			$("select[name=l_judet]").attr("value");
	
	// Validare campuri neutre
	if(prenume == '') { errors += "- Prenumele nu a fost completat\n"; errCount++; }
	if(nume == '') { errors += "- Numele nu a fost completat\n"; errCount++; }
	if(telefon == '') { errors += "- Numarul de telefon nu a fost completat\n"; errCount++; }
	if(adresa == '') { errors += "- Adresa nu a fost completata\n"; errCount++; }
	if(localitate == '') { errors += "- Localitatea nu a fost completata\n"; errCount++; }
	if(judet == '') { errors += "- Judetul nu a fost completat\n"; errCount++; }
	
	// Validare tip de utilizator
	if(client == true) {
		// Persoana fizica
	} else {
		// Persoana juridica
		if(firma == '') { errors += "- Numele firmei nu a fost completat\n"; errCount++; }
		if(regcom == '') { errors += "- Numarul de ordine in reg. comertului nu a fost completat\n"; errCount++; }
		if(cui == '') { errors += "- Codul unic de inregistrare nu a fost completat\n"; errCount++; }
		if(iban == '') { errors += "- Codul IBAN nu a fost completat\n"; errCount++; }
		if(banca == '') { errors += "- Denumirea bancii nu a fost completata\n"; errCount++; }
	}
	
	// Validare tip livrare
	if(shipment == false) {
		// Adresa de facturare diferita de adresa de livrare
		if(l_adresa == '') { errors += "- Adresa de livrare nu a fost completata\n"; errCount++; }
		if(l_localitate == '') { errors += "- Localitatea de livrare nu a fost completata\n"; errCount++; }
		if(l_judet == '') { errors += "- Judetul de livrare nu a fost completat\n"; errCount++; }
	}
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function modifyEmail() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	email =				$("input[name=email]").attr("value");
	parola =			$("input[name=parola]").attr("value");
	
	if(email == '') { errors += "- Email-ul nu fost completat\n"; errCount++; }
	else if(verifyEmail(email) == false) { errors += "- Noua adresa de e-mail nu este valida\n"; errCount++; }
	
	if(parola == '') { errors += "- Parola nu a fost completata\n"; errCount++; }
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}

function changePass() {
	// Setare verificari erori
	errors = "Urmatoarele date nu au fost introduse corect:\n\n";
	errCount = 0;
	
	oldpassword =		$("input[name=oldpassword]").attr("value");
	parola =			$("input[name=parola]").attr("value");
	testparola =		$("input[name=testparola]").attr("value");
	
	if(oldpassword == '') { errors += "- Parola veche nu a fost completata\n"; errCount++; }
	else if(!isPassword(oldpassword)) { errors += "- Parola veche nu poate contine decat litere si cifre iar primul caracter trebuie sa fie neaparat litera\n"; errCount++; }
	else if(!isLen(oldpassword,5,30)) { errors += "- Parola veche trebuie sa aiba o lungime cuprinsa intre 5 si 30 de caractere\n"; errCount++; }
	
	if(parola == '') { errors += "- Noua parola nu a fost completata\n"; errCount++; }
	else if(!isPassword(parola)) { errors += "- Parola noua nu poate contine decat litere si cifre iar primul caracter trebuie sa fie neaparat litera\n"; errCount++; }
	else if(!isLen(parola,5,30)) { errors += "- Parola noua trebuie sa aiba o lungime cuprinsa intre 5 si 30 de caractere\n"; errCount++; }
	
	if(testparola == '') { errors += "- Parola nu a fost confirmata\n"; errCount++; }
	else if(parola != testparola) { errors += "- Parolele nu coincid\n"; errCount++; }
	
	// Afisare erori sau submit
	if(errCount > 0) { alert(errors); return false; }
	$("input#submit").hide();
	$("div#submitted").show();
	return true;
}