// Written for domatorka.pl
// $Id: ezfelice.js 122 2010-08-30 11:36:56Z karpent $
//
// 2010-10-03 added bt_wyslij_zapytanie.gif button 

if (typeof DOMATORKA == "undefined") {
   var DOMATORKA = {};
}

DOMATORKA.namespace = function() {
    var a = arguments, o = null, i, j, d;
    for (i = 0; i < a.length; i = i + 1) {
        d = a[i].split(".");
        o = window;
        for (j = 0; j < d.length; j = j + 1) {
            o[d[j]] = o[d[j]] || {};
            o = o[d[j]];
        }
    }
    return o;
};

DOMATORKA.namespace("DOMATORKA.fel");
// Init global variables in "DOMATORKA.fel" namspace
DOMATORKA.fel.trees = [];
DOMATORKA.fel.tmode = '';
DOMATORKA.fel.tlen = 0;
DOMATORKA.fel.details_uri = '';
DOMATORKA.fel.image_root = '';
DOMATORKA.fel.bta_uri = '';
DOMATORKA.fel.btb_uri = '';
DOMATORKA.fel.btc_uri = '';
DOMATORKA.fel.bto_uri = '';
DOMATORKA.fel.bts_uri = '';
DOMATORKA.fel.btz_uri = '';
DOMATORKA.fel.cmp_uri = '';
DOMATORKA.fel.cont_uri = '';
DOMATORKA.fel.page_mode = 0;
DOMATORKA.fel.page_limit = 12;
DOMATORKA.fel.page_offset = 0;
DOMATORKA.fel.page_icount = 0;

// Read categories tree and return coma separated string with category names
DOMATORKA.fel.getHighlighted = function () {
	var labels = [];
	
	for (var ti = 0; ti < DOMATORKA.fel.trees.length; ti++) 
	{	 	
		var hiLit = DOMATORKA.fel.trees[ti].getNodesByProperty('highlightState',1);
			
		if (YAHOO.lang.isNull(hiLit)) {
			// alert("hiLit jest NULL");
		}
		else
		{
			for (var i = 0; i < hiLit.length; i++) {
				labels.push(hiLit[i].className); 
			}
		}
	}
	
	return( labels.join() );
}


// Product matrix template
//	- build output table cell
DOMATORKA.fel.buildResultsMatrix = function( msg ) {
		var html = '', i, l;
		
		for (i=0, l=msg.length; i < l; ++i) {
		
			if(msg[i].id == 0)
				continue;
				
			var index = i+1;
			var pname = msg[i].name;
			if(pname.length>23)
				pname = msg[i].name.substr(0,20) + '...';

			html += '<span class="matrix-box">';
			html += '<div class="rgraph0m"><input id="cb-' + msg[i].id + '" name="' + msg[i].id + '" value="1" type="checkbox">&nbsp;porównaj</input></div>';
			html += '<div class="rgraph1m">' + pname + '</div>';
			
			html += '<div class="rgraph2m"><span class="rgraph3m">';
			html += '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/view/full/' + msg[i].node + '">';
			html += '<img height="100" align="top" width="100" src="';
			html += DOMATORKA.fel.image_root + msg[i].url[0] + '" alt="' + msg[i].alt[0] + '"/>';
			html += '</a></span>';
			if(msg[i].bagr > 0) {
				html += '<span class="rgraph4m">' + DOMATORKA.fel.bto_uri + '</span>';
			}			
			html += '</div>';
			html += '<div class="rgraph5m">' + msg[i].price + '</div>';
			html += '</span>';
        }

		return html;
	}

// Product line template 
//	- build output list line
DOMATORKA.fel.buildResultsList = function( msg ) {
		var html = '', i, l;	
		for (i=0, l=msg.length; i < l; ++i) {
			if(msg[i].id == 0)
				continue;
			html += '<li><div class="res-list-elem">';
			
			// Box grafiki
			html += '<div class="res-list-graph">';
			html += '<div class="rgraph1"><input id="cb-' + msg[i].id + '" name="' + msg[i].id + '" value="1" type="checkbox">&nbsp;porównaj</input></div>';
			html += '<div class="rgraph2">';
			html += '<span class="rgraph3">' + '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/view/full/' + msg[i].node + '">' + '<img height="82" align="top"  src="' + DOMATORKA.fel.image_root + msg[i].url[0] + '" alt="' + msg[i].alt[0] + '"/></a></span>';
			if(msg[i].bagr > 0) {
				html += '<span class="rgraph4">' + DOMATORKA.fel.bto_uri + '</span>';
			}
			html += '</div>';
			if(msg[i].prom > 0) {
				html += '<div class="rgraph5">Promocja</div>';
			}
//			html += '<div class="rgraph6"><a>Dodaj do schowka</a></div>';
			html += '</div>';
			
			// Box opisu
			html += '<div class="res-list-area2"><ul><li><h2>' + msg[i].name;
			if( msg[i].brand.length > 0 ) {
				html += ',&nbsp;' + msg[i].brand;
			}
			html += '</h2></li>';
			html += '<li>' + msg[i].price + '</li>';
			if( msg[i].desc[0] == undefined ) { 
				html += '<li>Brak opisu</li>';
			} else {
				html += '<li>' + msg[i].desc[0] + '</li>';
			}

			// test :
			//html += '<li><a href="javascript:newswindow=window.open(\'' + DOMATORKA.fel.image_root + msg[i].url[0] + \',\'newswindow\',\'height=280,width=340,scrollbars=1,menubar=no\');void(0);">zobacz obrazek</a></li>';

			// Replace Function using Global Regular Expression
			// By enabling the global property of our regular expression, we can go from replacing one match at a time to replacing all matches at once. 
			// To enable the global property, just put a "g" at the end of the regular expression.
			var substitute = '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/list/prod/list/cat/';
			html += '<li><b>' + msg[i].cats.replace(/@/g, substitute) + '</b></li></ul></div>';
			
			// Box przycisków
			html += '<div class="res-list-buttons">';
			
			// Insert button [Zobacz produkt]
			html += '<span class="f-left">';
			html += '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/view/full/' + msg[i].node + '">' + DOMATORKA.fel.bta_uri + '</a>';
			html += '</span>';

			// Insert button [Przejdź do sklepu]
			if(msg[i].surl.length > 0) {
				html += '<span class="aga-button f-right">';
				//html += '<a href="' + msg[i].surl + '">' + DOMATORKA.fel.btb_uri + '</a>';
				// otwórz w nowym oknie
				html += '<a href="javascript:void(0)" onclick="window.open(\'' + msg[i].surl + '\')">' + DOMATORKA.fel.btb_uri + '</a>';
				html += '</span>';
			}
			
			// Insert button [O sklepie]		
			if(msg[i].snod.length > 0) {
				html += '<span class="aga-button f-right">';
				html += '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/view/full/' + msg[i].snod + '">' + DOMATORKA.fel.btc_uri + '</a>';
				html += '</span>';
			}

			// Insert button [Wyślij zapytanie]		
			if((msg[i].surl.length == 0) && (msg[i].snod.length == 0)) {
				html += '<span class="aga-button f-right">';
				html += '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/inquiry/0' + '">' + DOMATORKA.fel.btz_uri + '</a>';
				html += '</span>';
			}
 			
			html += '<span class="f-clear"></span>';
			html += '</div>';	// res-list-buttons

			html += '</div></li>';
        }

		return html;
	}
	

// Service matrix template 
//	TODO	- build output matrix
DOMATORKA.fel.buildServicesMatrix = function( msg ) {
	var html = '', i, l;
		
	for (i=0, l=msg.length; i < l; ++i) {
		
		if(msg[i].id == 0)
			continue;
				
			html += '<li>TODO</li>';
       }
	   
	return html;
}
	
// Service line template 
//	- build output list line
DOMATORKA.fel.buildServicesList = function( msg ) {
	var html = '', i, l;
		
	for (i=0, l=msg.length; i < l; ++i) {
		
		if(msg[i].id == 0)
			continue;
				
			html += '<li><div class="res-list-elem">';
			
			html += '<div class="res-list-graph"><br />';
			html += '<img height="80" align="top" width="80" src="';
			html += DOMATORKA.fel.image_root + msg[i].url[0] + '" alt="' + msg[i].alt[0] + '"/>';
			html += '<br /><br /></div>';
			html += '<div class="res-list-area2"><ul><li><h2>' + msg[i].name + '</h2></li><li>';
			html += msg[i].desc[0] + '</li>';

			// Build categoris links - Replace Function is required, using Global Regular Expression
			// By enabling the global property of our regular expression, we can go from replacing one match at a time to replacing all matches at once. 
			// To enable the global property, just put a "g" at the end of the regular expression.
			var substitute = '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/list/serv/list/cat/';
			html += '<li><b>' + msg[i].cats.replace(/@/g, substitute) + '</b></li></ul></div>';
			
			html += '<div class="res-list-area3">';
			// Insert button [Zobacz usluge]
			html += '<a href="' + DOMATORKA.fel.cmp_uri + '/comparator/view/full/' + msg[i].node + '">' + DOMATORKA.fel.bts_uri + '</a>';
			html += '</div>';

			html += '</div></li>';
       }
	   
	return html;
}

// 1. Receive server parameters
// 2. Generate markup structure for comparator pager
// 
DOMATORKA.fel.buildPager = function( msg ) {
	var html = '', i, j, l;
	var page_count, current_page;

	for (i=0, l=msg.length; i < l; i++) {	
		if(msg[i].id == 0) {
			DOMATORKA.fel.page_icount = msg[i].count;
			DOMATORKA.fel.page_offset = msg[i].offset;
			DOMATORKA.fel.page_limit = msg[i].limit;
			page_count = Math.floor(DOMATORKA.fel.page_icount / DOMATORKA.fel.page_limit);
			if(DOMATORKA.fel.page_icount % DOMATORKA.fel.page_limit > 0)
				page_count += 1;
			current_page = Math.floor(DOMATORKA.fel.page_offset / DOMATORKA.fel.page_limit) + 1 ;
			
			// alert( 'stron = ' + page_count + ', produktow = '+ DOMATORKA.fel.page_icount + ', current_page =' + current_page + ', limit = ' + DOMATORKA.fel.page_limit);
			
			if(page_count > 1) 
			{	
				if(page_count > 3) html += '<a id="go-first">pierwsza</a> / ';
				html += '<a id="go-prev">poprzednia</a> ';
				html += '&lt;&nbsp;'; 
				for(j=1; j<=page_count; j++) {
					html += ' <a id="go-' + j + '"';
					if( j== current_page )
						html += ' class="active"';
					html += '> ' + j + ' </a> ';
				}
				html += '&gt;&nbsp;';
				html += '<a id="go-next">następna</a>';
				if(page_count > 3) html += ' / <a id="go-last">ostatnia</a>';
			}
			else 
			{
				html += '<a id="no-pager"/>';
			}
			break;
		}
    }

	return html;
}

DOMATORKA.fel.SearchPart_test = function( msg ) {
	var html = '';

	for (i=0, l=msg.length; i < l; i++) {
		html += '<a href=\"' + DOMATORKA.fel.cont_uri + '/' + msg[i][2] +'/view/full/' + msg[i][1] + '\">' + msg[i][0] + '</a>' + '<br />';
		// html += '<a href=\"' + DOMATORKA.fel.cont_uri + '/' + msg[i][3] + '\">' + msg[i][0] + '</a>' + '<br />';
	}
	
	return html;
}

DOMATORKA.fel.SearchPart = function( msg ) {
	var html = '';
	
	html += '<ul>';
	for (i=0, l=msg.length; i < l; i++) {
		html += '<li>';
		html += '<a href=\"' + DOMATORKA.fel.cont_uri + '/' + msg[i][2] +'/view/full/' + msg[i][1] + '\">' + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + msg[i][0] + '</a>';
		html += '</li>';
	}
	html += '</ul>';	
	return html;
}
	
