function Buttons(){
	inputs = document.getElementsByTagName('input');
	for(i = 0; i < inputs.length; i++){
		if(inputs[i].type != 'image')
		inputs[i].className='input';
		if(inputs[i].type == 'submit')
		inputs[i].className='button';
	}
}
function Init(){
	Buttons();
	/**
	* wyłączamy autocomplete zeby nie kolidowac z hintami ajaxowymi
	* _i_ zachowac zgodnosc z xhtml
	*/
	var s = document.getElementById('search_query_words');
	s.setAttribute("autocomplete", "off");
}

function imageScale(sender, max_size) {
	p=0;
	if (sender.width > max_size) {
		p = (max_size / sender.width);
	}
	else {
		if (sender.height > max_size) {
			p = (max_size / sender.height);
		}
	}
	if(p > 0) {
		sender.width = p * sender.width;
	}
}


function searchOver (what) {
	document.getElementById(what).className = 'HintHighlight';
	showHints();
}
function searchOut (what) {
	document.getElementById(what).className = 'HintUnHighlight';
}
function searchDown (str) {
	document.getElementById('search_query_words').value = str;
}
var timeout=1000;
var oldQuery='';
function hintMe() {
	query=document.getElementById('search_query_words').value;
	/*hint.className='searchDivHidden';*/
	document.getElementById('searchHint').style.visibility='visible';
	if (query != oldQuery) {
		oldQuery=query;
		if (query && query.length>3) {
			window.setTimeout('xajax_searchHints(query);',timeout);
		} else {
			hideHints();
		}
	}
}
function showHints() {
	query=document.getElementById('search_query_words').value;
	if (query && query.length>3) {
		hint=document.getElementById('searchHint');
		if (hint.style.visibility!='visible') hint.style.visibility='visible';
	}
}
function hideHints() {
	hint=document.getElementById('searchHint');
	hint.style.visibility='hidden';
}
function auto_off() {

	alert(s.toString);
}

function hide_list(list)
{
	list.style.display='none';
}

function show_list(list)
{
	list.style.display='block';
}

function visible(list)
{
	if ((list.style.display=='block') || list.style.display=='')
	return true;

	return false;
}

function _$(id)
{
	return document.getElementById(id);
}

function ShowBox(id, ms, timer) {
	var timer=(timer==null) ? 0 : timer;
	var objref=document.getElementById(id);

	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape 
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	//  wysrodkowanie w pionie 
	var topBoxOffset=scrOfY+(screen.availHeight/3)-(objref.offsetHeight/2);
	//	wysrodkowanie w poziomie
	var leftBoxOffset=scrOfX+(screen.availWidth/2)-(objref.offsetWidth/2);

	objref.style.top=topBoxOffset+"px";
	objref.style.left=leftBoxOffset+"px";
	if (timer < ms) {
		objref.style.display="block";
		timer+=10;
		setTimeout("ShowBox('"+id+"',"+ms+","+timer+")",1);
	} else {

		objref.style.display="none";

	}
}


/*Drzewko kategorii*/
function getSubcategories(catId,url, producer_filter,level){
	var mainCat = document.getElementById(catId+'div');
	var loader = document.getElementById(catId+'loader');
	if(mainCat.hasChildNodes()){
		return;
	}
	loader.style.display = 'block';
	
	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: ({
			catId : catId,
			producer_filter : producer_filter,
			level : level
		}),
		success: function(result) {
			loader.style.display = 'none';
			mainCat.innerHTML = result;
		},
	 	error : function(data, status, error){
			alert(error.description);
		}
	});
}

/*Zakładki na stronie glownej*/
function getProductsPromo(url, argsObj){
	

	var catName = '';
	switch(argsObj.index){
		case 0:
			catName = "drobne_agd";
			break;
		case 1: 
			catName = "duze_agd";
			break;
		case 2:
			catName = "rtv";
			break;
		case 3:
			catName = "foto";
			break;
		case 4:
			catName = "telefony";
			break;
		case 5:
			catName = "it";
			break;
	}
	var container = document.getElementById(catName);
	var loader = document.getElementById('loader');
	if(container.hasChildNodes()){
		return;
	}
	loader.style.display = 'block';

	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: ({
			catName : catName,
			action : 'promo'
		}),
		success: function(result) {
			loader.style.display = 'none';
			container.innerHTML = result;
		},
	 	error : function(data, status, error){
			alert(error.description);
		}
	});
	
}


function sortPromoProducts(sortBy, containerId, elem, url){
	var sortDirection = 'asc';
	if(elem.className == '' || elem.className == 'sortDesc'){
		$('.sortAsc').removeClass('sortAsc');
		$('.sortDesc').removeClass('sortDesc');
		sortDirection = 'asc';
		elem.className = 'sortAsc';
	}else{
		$('.sortAsc').removeClass('sortAsc');
		$('.sortDesc').removeClass('sortDesc');
		sortDirection = 'desc';
		elem.className = 'sortDesc';
	}

	var container = document.getElementById(containerId);
	container.innerHTML = '';
	var loader = document.getElementById('loader');
	loader.style.display = 'block';
	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: ({
			catName : containerId,
			action : 'promo',
			sortBy : sortBy,
			sortDirection : sortDirection
		}),
		success: function(result) {
			loader.style.display = 'none';
			container.innerHTML = result;
		},
	 	error : function(data, status, error){
			alert(error.description);
		}
	});

}

/*Porownywarka*/
function addToCompare(id, name){
	if($('#'+id).attr('checked')){
		var comparator = getCookie('comparator');
		if(comparator != undefined && comparator.indexOf(id) !=-1){
			$('#compare_error'+id).append("Ten produkt jest już dodany do porównywarki.");
			$('#compare_error'+id).show();
			document.getElementById(id).checked = true;
			return;
		}
		if(comparator != undefined){
			var idsArr = comparator.split('_');
			if(idsArr.length > 2){
				$('#compare_error'+id).append("Można porównywać maksymalnie trzy produkty.");
				$('#compare_error'+id).show();
				document.getElementById(id).checked = false;
				return;
			}
		}
		var item = '<div id="'+id+'compare" >'+name+'<a href="javascript:removeItemFromComparator(\''+id+'compare\');">Usuń</a></div>';
		$('#compare_items').append(item);
		
		if((comparator == undefined) || (comparator.length)==0){
			document.cookie="comparator =" + id+";path=/";
		}else {
			document.cookie="comparator =" +comparator+"_"+ id+";path=/";
		}
		$("#compare_container").show("slow");
	}else{
		$('#'+id+'compare').detach();
		removeItemFromComparator(id+'compare');
	}
	
}

function compareProducts(url){
	var comparator = getCookie('comparator');
	var idsArr = comparator.split('_');
	if(idsArr.length == 1){
		$('#compare_error').append("Proszę wybrać przynajmniej dwa produkty.");
		$('#compare_error').show();
		return;
	}
//	var urlComplete = "http://"+url+"/ajax_actions.php?compare="+comparator;
	$('#compare_loader').show();
	
	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: ({
			compare : comparator
			
		}),
		success: function(result) {
			document.getElementById('compare_result').innerHTML = '';
			  $('#compare_result').append(result);
			  $('#compare_result_fancy').fancybox({
				  'hideOnContentClick'  : true,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'width'             : '100%',
					'height'            : '100%',
					'onClosed'		: function() {
				    	$("#logo").show();
				    	$("#top_banner").show();
					}
				});

			  $('#logo').hide();
			  $('#top_banner').hide();
			  $('#compare_loader').hide();
			  $('#compare_result_fancy').trigger('click');
		},
	 	error : function(data, status, error){
			alert(error.description);
		}
	});
	
	
}

function removeItemFromComparator(itemId){
	var comparator = getCookie('comparator');
	var idsArr = comparator.split('_');
	comparator = '';
	var id = itemId.replace('compare','');
	var isFirst = false;
	for(var i = 0; i < idsArr.length; i++){
		if(id == idsArr[i]){
			if(i == 0){
				isFirst = true;
			}
			continue;
		}
		if(i == 0 || isFirst){
			comparator = idsArr[i];
			isFirst = false;
		}else{
			comparator += "_"+idsArr[i];
		}
	}
	document.cookie="comparator =" + comparator+";path=/";
	$('#'+itemId).detach();
	var newComparator = getCookie('comparator');
	document.getElementById(itemId.replace('compare', '')).checked = false;
	if((newComparator == undefined) || (newComparator.length == 0)){
		$("#compare_container").hide("slow");
	}
	return;
}
/*koniec porownywarki*/

function getCookie(c_name){
	if (document.cookie.length>0)
	  {
	  var c_start=document.cookie.indexOf(c_name + "=");
	  if (c_start!=-1)
	    {
	    c_start=c_start + c_name.length+1;
	    var c_end=document.cookie.indexOf(";",c_start);
	    if (c_end==-1) c_end=document.cookie.length;
	    return unescape(document.cookie.substring(c_start,c_end));
	    }
	  }
	else return;
}


function printDetails(url, detId){
	var newWindow = document.open('http://'+url+'/print_details.php','window', 'directories=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes,resizable=yes');

	var mainMain = $('#'+detId);
	var main = mainMain.clone();
	
	var aElems = $('a', main);
	$.each(aElems, function(index1,value1){
		value1.removeAttribute('onmouseover');
		value1.removeAttribute('onmouseout');
	});
	
	$('#printBtn', main).detach();
		
	var topHtml = '<html xmlns="http://www.w3.org/1999/xhtml"><head>';
	topHtml += '<style type=text/css>';
	topHtml += 'body{ font:11px Tahoma,Geneva,sans-serif; width:800px; margin:20px auto;}';
	topHtml += 'img{border:none; float:left;}';
	topHtml += '.text {width:340px; position:absolute; top: 130px; right:150px; font-size: 16px;}';
	topHtml += 'td{font-size: 12px; border: 1px solid black;padding:0px;}';
	topHtml += 'a{color: #000; text-decoration: none}';
	topHtml += 'li{list-style:none}';
	topHtml += '</style>';
	topHtml += '</head><body>';
	newWindow.document.write(topHtml+main.html()+'</body></html>');
	
	newWindow.print();
	newWindow.document.close();
	return newWindow;
}

//Pobiera dane dla zakladek na stronie info produktu

function getInfoTabs(url, argsObj, userId){
	
	
	var infoType = '';
	switch(argsObj.index){
		case 0:
			infoType = "dane_techniczne";
			break;
		case 1: 
			infoType = "opis";
			break;
		case 2:
			infoType = "akcesoria";
			break;
		case 3:
			infoType = "produkty_z_kategorii";
			break;
		case 4:
			infoType = "zestawy";
			break;
	}
	
	
	var container = document.getElementById(infoType);
	var loader = document.getElementById('loader');
	if(container.hasChildNodes()){
		return;
	}
	loader.style.display = 'block';
	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: ({
			info_type : infoType,
			info : 'product_info',
			user_id : userId
		}),
		success: function(result) {
			loader.style.display = 'none';
			container.innerHTML = result;
		},
	 	error : function(data, status, error){
			alert(error.description);
		}
	});
}

