// JavaScript Document ąę
var rootPath = '/';
var mainUrl = getMainUrl();
var languageCode = 'pl';
var currentUrl = getCurrentUrl(mainUrl);
var dictionary = null;

var useFlash = true;
var useSifr = false;
var useCufon = true;
var reloadPageContentWithAjaxWhenClickedOnNav = false;

var scriptsToAppend = '<link href="' + rootPath + 'default/styles/jsOnBoard.css" rel="stylesheet" type="text/css" media="screen"/>';
//document.write(scriptsToAppend);

if(useFlash){
	//do wykrywania wersji flash
	var requiredMajorVersion = 8;
	var requiredMinorVersion = 0;
	var requiredRevision = 24;
	var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);	
}

 
$(document).ready(function(){		
	languageCode = getLanguageCode();
	dictionary = getDictionary(languageCode);
	
	setSelected();
	
	initNav('sideNav');
	initNav('productsCategoriesNav');	
	
	sfHover();	
	
	//topNav
	$('#topNav li:last-child').addClass('lastChild');
	$('#topNav li:first-child').addClass('firstChild');	
	$('#topNav ul').parent().children('a').addClass('parentHasChildren').parent().addClass('hasChildren');

	//add hidden at begining prevents little move when swap to flash is made
	if(useFlash && hasRightVersion){
		$('#topNav > li > a').each(function(){
			$(this).addClass('hidden');
		});
	}
	//wrapper $('#topNav ul').wrap('<div />');	
	
	$('#breadCrumbTrail li:last-child').addClass('lastChild');
	$('#breadCrumbTrail li:first-child').addClass('firstChild');		
	$('#bottomNav li:last-child').addClass('lastChild');
	$('div.box:last').addClass('lastBox');	
	
	//round me
	$('.roundMe').each(function(){
		$(this).wrap('<div class="rounded"><div class="leftBorder"><div class="rightBorder"><div class="bottomBorder"><div class="leftUpperCorner"><div class="rightUpperCorner"><div class="leftLowerCorner"><div class="rightLowerCorner"></div></div></div></div></div></div></div></div>');						
	});	
	
	//headers	
	if(useFlash && hasRightVersion){
		var header = $('.mainHeader');
		var text = header.children('h2').text();
		header.html(
			'<embed type="application/x-shockwave-flash" bgcolor="none" wmode="transparent" flashvars="text=' + text +'" quality="best" src="/default/flash/header.swf" width="820" height="38" salign="LT">'
		);	
	}
	
	//fb 
	$('#fbLikeBoxContainer').toggle(
		function() {
			$(this).stop().animate({right: '0'}, 'slow');
		},
		function() {
			$(this).stop().animate({right: '-237px'}, 'slow');
		}
	);	
});

//init main parameters
function getMainUrl(){
	$regexp = new RegExp('http://.*?/');
	var mainUrl = $regexp.exec(document.location.href);		
	return new String(mainUrl);
}

function getCurrentUrl(mainUrl){	
	return '/' + document.location.href.substring(mainUrl.length);
}

function getLanguageCode(){	
	if(!$('#containerWrapper').length){
		return languageCode;
	}
	var str = $('#containerWrapper').attr('class');
	var classes = str.split(' ');	
	return classes[0];	
}

//dictionary
function getDictionary(ln){
	var dictionary = new Object();
	
	if(ln == 'pl'){
		dictionary.wrong_email_address = 'Sprawdź poprawność adresu email!';
		dictionary.image = 'Obraz';
		dictionary.of = 'z';		
	} else {
		dictionary.wrong_email_address = 'Check your email address!';
		dictionary.image = 'Image';
		dictionary.of = 'of';
	}
	
	return dictionary;
}

//select for all navs and links with sites urls
function setSelected(){
	if(typeof(breadCrumbTrail)!="undefined"){
		for(var i = breadCrumbTrail.length - 1; i >= 0; i--){			
			//nie dodawaj dla ostatniej, bo ostatnia to glowna wiec podswietli na calej stronie

			if(breadCrumbTrail.length > 1 && i == 0){
				break; 
			}

			$("a[href='" + breadCrumbTrail[i] + "']").addClass('selected');	
		}
	}
}

function initNav(id) {	
	id = '#' + id;
	if(!$(id).length){
		return false;
	}
	
	//dodaj do li klase ktora pozwoli dodac np. strzalke jesli element jest rozwijany
	$(id + ' ul').parent().children('a').addClass('parentHasChildren').parent().addClass('hasChildren');
		
	$(id + ' ul').hide();	
	
	//zaznaczanie wedle adresu
	var cnt = mainUrl.length;
	var currentUrl = '/' + document.location.href.substring(cnt);	

	if(currentUrl != '/'){
		$("a[href='"+currentUrl+"']").addClass('selected');
	} 

	$(id + ' a.selected').parents("ul").show();
	
	//dodaje selected tez dla rodzicow
	var li = $(id + ' a.selected').parents("li");
	li.addClass('selected');
	li.children('a').addClass('selected');
	
	$(id + ' li:last').addClass('veryLastChild');
	$(id + ' li:first').addClass('veryFirstChild');
	
	$(id + ' li:last-child').addClass('lastChild');	
	$(id + ' li:first-child').addClass('firstChild');		

	$(id + ' li a').click(
		function() {	
			$(id + ' a.selected').removeClass('selected');
			var li = $(this).parents("li");
			li.addClass('selected');
			li.children('a').addClass('selected');
			
			var checkElement = $(this).next();
			//var parent = this.parentNode.parentNode.id;			
			var parent = $(this).parent().parent();
			
			if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {		
				if(reloadPageContentWithAjaxWhenClickedOnNav){
					loadPageUsingAjax($(this).attr('href'));
				}
				if(parent){
					//$('#' + parent + ' ul:visible').slideUp('normal');
					parent.find('ul:visible').slideUp('normal');
				}
				checkElement.slideDown('normal');
				return false;
			}
		}
	);	
}

function loadPageUsingAjax(href){
	if(href){
		$.get(href, {ajax:1}, function(data){
			if(data){				
				$('#mainColumn .page').replaceWith(data);	
			}
		});
	}
}


//przykladowe przewijanie na jquery bez dodatkowych parametrow
function showShortOffer(dir){
	var cnt = $('#offerBox ul').size();
	for(var i=1; i<=cnt; i++){
		if($('#offerBox ul.current').hasClass('o'+i)){		
			var next = $('#offerBox ul.o'+(i+dir));
			if(next.length){
				$('#offerBox ul.current').removeClass('current');
				next.addClass('current');		
				break;
			}			 
		}
	}
}
function showPrevShortOffer(){
	showShortOffer(-1);		
}
function showNextShortOffer(){
	showShortOffer(1);		
}

//images vertical align
function verticalAlign(elem){
	var top = Math.floor(($(elem).parent().height() - elem.height)/2);
	elem.style.top = top+'px';
}

//wyslij do flash elementy menu
function sendToFlashTopNav(){	
	var rows = new Array();
	//dla ie, bo ie nie widzi klasy selected

	var selectedUrl = '';
	if(typeof(breadCrumbTrail) !== 'undefined' && breadCrumbTrail.length){
		if(breadCrumbTrail.length > 1){
			selectedUrl = breadCrumbTrail[1];
		} else {
			selectedUrl = breadCrumbTrail[0];
		}
		
		if(selectedUrl.search('http') == -1){
			selectedUrl = '/' + selectedUrl + '.html';			
		}	
	}
		
	$('#topNav > *').each(function(i){											 
		var row = new Object();
		var a = $(this).children('a');
		row.url = a.attr('href');
		row.name = a.text();
		row.id = $(this).attr('id').substr(2);
		
		if(a.hasClass('selected') || row.url == selectedUrl){
			row.selected = true;
		} else {
			row.selected = false;
		}
		
		if($(this).children('ul').length){
			row.hasChildren = true;	
		} else {
			row.hasChildren = false;	
		}
		rows[i] = row;
	});

	return rows;
}

//dopasuj elementy menu w html do tych we flash, zeby dropdown sie dobrze wyswietlalo
function adjustWidth(nbr, width){
	var a = $('#tn'+nbr+' :first');	
	a.addClass('hidden');
	a.css('width', width + 'px');
}

/*Top Nav*/
//zapisuje elementy ktore maja sie schowac po okreslonym czasie
sfHoverStack = new Array();
sfHover = function() {
	
	$('#topNav li').hover(function () {	
		var parents = $(this).parents('li');
		parents.push($(this));				
		
		//sprawdzamy czy elementow nie ma na liscie do zamkniecia, jesli sa to je usuwamy
		//ze wzgledu na opoznione howanie
		for(var i=0; i<sfHoverStack.length; i++){
			parents.each(function(){	
				if(sfHoverStack[i] == $(this).attr('id')){
					sfHoverStack[i] = null;
				}
			});
		}
		$(this).addClass("sfhover");	  
		
		var id = $(this).attr('id');		
		var nbr = id.substr(2);
		if(useFlash){
			document.flashTopNav.SetVariable('btnOnWichIsMouseOver', nbr);
		}

	}, function () {
		var id = $(this).attr('id');
		sfHoverStack.push(id);		
		
		//opoznienie, zeby zdarzyc 
		setTimeout(function(){								  						  
			for(var i=0; i<sfHoverStack.length; i++){
				if(sfHoverStack[i] == id){					
					$('#' + id).removeClass("sfhover");
					sfHoverStack.splice(i, 1);	
					break;
				}
			}
	   }, 50);		
		

		var nbr = id.substr(2);
		if(useFlash){
			document.flashTopNav.SetVariable('btnOnWichIsMouseOut', nbr);
		}
	});
	
	$('#topNav > *').click(function(){
		window.location.href = $(this).children('a').attr('href');											  
	});

}

/*add to bookmark*/
function addToBookmarks() {
	title = $('title').text(); 
	url = location.href;
		
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist

	}
}

/*polec znajomemu*/
function showMailtoForm(){
	$('#mailtoForm').show();
}

function mailto(form){
	if(isEMailAddr(form.e)){		
		$.get("/mailto/index", {e:form.e.value, url:document.location.href}, function(data){
			form.e.value = 'email do znajomego';
			$('#mailtoForm').hide();
			if(data == 'ok'){					
				alert("Wysłane. Dziękujemy.");
			} else {
				alert(data);
			}
		});
	}
	return false;
}

//swap image to flash
function swapProductImageToFlash(elem){
	var a = $(elem).parent();
	a.html('<embed type="application/x-shockwave-flash" scale="noscale" bgcolor="none" wmode="transparent" flashvars="src='+ elem.src + '&url=' + a.attr('href') + '&width=' + elem.width + '&height=' + elem.height +'" quality="best" src="/flash/image.swf" width="130" height="'+elem.height+'">');
}

//isEmailAddress
function isEMailAddr(elem) {
	var str = elem.value;
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if (!str.match(re)) {
		alert(dictionary.wrong_email_address);
		return false;
	} else {
		return true;
	}
}

//miscelenous
function misc(){
	if(!($.browser.msie == true && jQuery.browser.version == 6.0)){
	}
}

//sameHeightForBoxes
function sameHeightForBoxes(container){	
	$(document).ready(function(){
		var minHeight = 0;
		$(container + ' .box .content').each(function(){
			if(minHeight < $(this).height()){
				minHeight = $(this).height();
			}
		});
	
		if(minHeight > 0){
			$(container + ' .box .content').css('height', minHeight + 'px');
		}
	});
}

//myAccountShortBox - obsluga inputa password
var myAccountShortBoxFocus = function(){			
	$(this).remove();
	$('#myAccountShortBox .passwordContainer').prepend(' <input id="myAccountShortPasswordInput" class="input" name="password" type="password" />');
	
	$('#myAccountShortPasswordInput').blur(myAccountShortBoxBlur);
	//set kursor to this new field
	$('#myAccountShortPasswordInput').focus();		
};

var myAccountShortBoxBlur = function(){
	if($(this).val() == ''){
		$(this).remove();
		$('#myAccountShortBox .passwordContainer').prepend(' <input id="myAccountShortPasswordInput" class="input" name="password" type="text" value="Hasło" />');
		
		$('#myAccountShortPasswordInput').click(myAccountShortBoxFocus);	
		$('#myAccountShortPasswordInput').focus(myAccountShortBoxFocus);	
	}	
}

$(document).ready(function(){
	if($('#myAccountShortBox').length){
		$('#myAccountShortPasswordInput').click(myAccountShortBoxFocus);
		$('#myAccountShortPasswordInput').focus(myAccountShortBoxFocus);
	}
});


//sifr config
if(useSifr){
	var mpsb = { src: rootPath + 'default/flash/sifrMPSB.swf' };
	
	sIFR.activate(mpsb);
	
	sIFR.replace(sgp, {
	  selector: '.rightBox .header h3',
	  css: '.sIFR-root {color: #454547; text-align:right;}',
	  wmode: 'transparent'
	});
	
	sIFR.replace(sgp, {
	  selector: '.box .header h3, .mainHeader h2',
	  css: '.sIFR-root {color: #454547;}',
	  wmode: 'transparent'
	});	

}


if(useCufon){	
	/*Cufon.replace('.box .header h3, .mainHeader h2', {
					  fontFamily: 'Cambria', 
					  letterSpacing: '-0.2px', 
					  textShadow: '2px 2px rgba(20,20,21,.5)',
					  color: '-linear-gradient(#f6c716, #f6c716, #f68516)',
					  fontWeight: 'normal',
					  fontSize: '27'
	});*/		
	
	Cufon.replace('#appLatestNewsBox .news h4, .commonShortCuts h4', {
					  fontFamily: 'Adobe Caslon Pro', 
					  letterSpacing: '-0.4px'
	})	
}
