function parseXMLData(object) {
	if(object[0].childNodes.length){
		if(object[0].childNodes[0] != null || object[0].childNodes[0] != 'undefined')
			return object[0].childNodes[0].data;
		else
			return '';
	}
	return '';
}

function getObject(name) {
	if (document.getElementById) {
    	obj=document.getElementById(name);
   	} else if (document.layers) {
     	obj=document.layers[name];
	} else if (document.all) {
	   obj=document.all[name];
	} else {
	   obj=false;
	}
	return obj;
}

function submitEnter(myfield,e){ 
    return true; // cyb 15,08,2007
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if (keycode == 13){
	   getPage(1);
	   return false;
	}
	else
	   return true;
}	

DataItems = function(name) { 
  this.name = name; 
  this.items = new Array(); 
} 

DataItems.prototype.addItem = function(id, item) { 
  this.items[this.items.length] = new Array(id, item);
}

DataItems.prototype.removeItem = function(id) {
  this.items.splice(id,1);
}



function objCategory(objName) {
	    this.obj = objName;
	    this.arrCategories = [];
};

function nodeCategory (id,name) {
	    this.id = id;
	    this.name = name;
};

objCategory.prototype.add = function (id,name) {
	    this.arrCategories[this.arrCategories.length] = new nodeCategory(id,name);
};


function showDiv(id){
	getObject(id).style.display="block";
}
function ShowObject(item){
	item.style.display = "block";
	return true;
}

function HideObject(item){
	item.style.display = "none";
	return true;
}

function openWindowList(url, width, height){
	window.status='';
	var okno = window.open(url,"DisplayWindow","scrollbars=yes,toolbar=yes,directories=no,menubar=no,resizable=yes,width=" + width + ", height="+height);
	okno.moveTo((screen.availWidth/2)-(width/2),(screen.availHeight/2)-(height/2));
	okno.focus();
}


function makePath(divCatPath){

	var sPath = '';
	divCatPath.innerHTML = '';
	
	for(var i=0;i<aCategoriesLabels.items.length;i++) {
		if(i==0)
			sPath += '<span style="color:#444444;"><b>'+aCategoriesLabels.items[i][1]+'</b></span>';
		else
			sPath += ' / <b>'+aCategoriesLabels.items[i][1]+'</b>';
	}
	
	divCatPath.innerHTML = sPath;
}


function createNextSubCategory(divCategory, catID){
	
	var divs = divCategory.getElementsByTagName('div');
	var aCategories = new DataItems("items");
	
	if(catID != null && catID != 'undefined' && catID != 0) {
	
		AjaxRequest.get({
					'url' : '/_xml_/?mod=yellowpages_categories&id='+catID,
					'timeout' : 4000,
   					'onTimeout' :function(req){alert('Timed Out!');},
					'onSuccess' : function(req) {
							
							//alert(req.responseText);
							
							aCategories.items.length=0;				
							var xmldoc = req.responseXML.getElementsByTagName('child');
														
							if(xmldoc.length>0) {
								
								for(var i=0;i<xmldoc.length;i++){
										var sCatID = parseXMLData(xmldoc[i].getElementsByTagName('id'));
										var sCatName = parseXMLData(xmldoc[i].getElementsByTagName('name'));
										if(sCatName)	
											aCategories.addItem(sCatID, sCatName);
								}

								if(aCategories.items.length) {										

									subNextSelect = document.createElement('select'); 
									subNextSelect.size = 1;
									subNextSelect.name = divCategory.id;
									subNextSelect.options.length = 0;
									subNextSelect.options[0] = new Option('---- wybierz kategorię ----', 0); 
									subNextSelect.selectedIndex = 0;
									
									for(var i=0;i<aCategories.items.length;i++){					
										subNextSelect.options[i+1] = new Option(aCategories.items[i][1],aCategories.items[i][0]);
									}
									
									subNextSelect.onchange = subCatChange;
									divCategory.appendChild(subNextSelect);
								}
							}
	 			},
				'onError' : function(){
				}
			});
	 }
}


function subCatChange(){
	
	var selObj = this;

	var divCategory = getObject(selObj.name);
	var divCatPath = getObject(selObj.name + 'path');
	var selects = divCategory.getElementsByTagName('select');
	var frmCategoryID = getObject(selObj.name.substring(3) + "ID");

	try {
		for(var i=0; i < selects.length; i++)
			divCategory.removeChild(selects[i]);
	
		catSelLabel = selObj.options[selObj.selectedIndex].text;
		catSelID = selObj.options[selObj.selectedIndex].value;
		
		if(catSelID != null && catSelID != 'undefined' && catSelID != 0){
			frmCategoryID.value = catSelID;
			AddWord(catSelID, catSelLabel);
			makePath(divCatPath);
			setTimeout(function(){createNextSubCategory(divCategory, catSelID);},600);
		}
	}
	catch(e){}
}


function catChange(selObj, iClean){
	
	var divFormContent = getObject("divFormContent");
	var divCategory = getObject("div" + selObj.name);
	var divCatPath = getObject("div" + selObj.name + 'path');
	var frmCategoryID = getObject(selObj.name + "ID");
	var selects = divCategory.getElementsByTagName('select');
	
	try {
		for(var i=0; i < selects.length; i++)
			divCategory.removeChild(selects[i]);
		if(iClean)
			aCategoriesLabels.items.length=0;
	
		catSelLabel = selObj.options[selObj.selectedIndex].text;
		catSelID = selObj.options[selObj.selectedIndex].value;
	
		if(catSelID != null && catSelID != 'undefined' && catSelID != 0){
			frmCategoryID.value = catSelID;
			ShowObject(divFormContent);
			AddWord(catSelID, catSelLabel);
			makePath(divCatPath);
			setTimeout(function(){createNextSubCategory(divCategory, catSelID);},600);
		}else{
			makePath(divCatPath);
			if(selObj.name != 'category2' && selObj.name != 'category3')
				HideObject(divFormContent);
		}
	}
	catch(e){}
}


function AddWord(iID, sWord) {
	var iIsSet = 0;
	for(i=0;i<aCategoriesLabels.items.length;i++){
		if(aCategoriesLabels.items[i][1] == sWord){
			iIsSet=1;
			break;
		}
	}
	if(iIsSet != 1)
		aCategoriesLabels.addItem(iID, sWord);
}

function setTypePayment(obj){
	
	var divFormCreditCard = getObject("divFormCreditCard");
	var divFormChceck = getObject("divFormChceck");
		
	if(obj.value == 1){
		ShowObject(divFormCreditCard);
		HideObject(divFormChceck);
	}
	else{
		HideObject(divFormCreditCard);
		ShowObject(divFormChceck);
	}
}


function removeGrpChilds(){
	try{
		for (var i=0; i < arguments.length; i++) {
			if(arguments[i].childNodes[0])
				arguments[i].removeChild(arguments[i].childNodes[0]);
		}
	}catch(e){}
}

function addGrpChilds(){
	try{
		for (var i=0; i < arguments.length; i++) {
			arguments[i][0].appendChild(arguments[i][1]);
		}
	}catch(e){}
}


String.prototype.addClass = function(theClass) {
	if (this != "") {
		if (!this.classExists(theClass)) {
			return this + " " + theClass;
		}
	}
	else {
		return theClass;
	}
	return this;
}

String.prototype.classExists = function(theClass) {
	var regString = "(^| )" + theClass + "\W*";
	var regExpression = new RegExp(regString);
	if (regExpression.test(this)) {
		return true;
	}
	return false;
}

String.prototype.removeClass = function(theClass){
	var regString = "(^| )" + theClass + "\W*";
	var regExpression = new RegExp(regString);
	return this.replace(regExpression, "");
}



function showSearchAdvanced() {
	 trSearchAdvanced=getObject("divSearchAdvanced");
	 ShowObject(trSearchAdvanced);
}

function hideSearchAdvanced() {
	 trSearchAdvanced=getObject("divSearchAdvanced");
	 HideObject(trSearchAdvanced);
}


function showItem(i){
			
		if(!oXMLData['aItems'][i])
			return false;
			
		var sHtml = '';	
		var sPathDetail;
		var sPath, iYear, sMake, sModel, sItemCategoryName, sColor, sCurrency;
		var aInformation = new Array();
		
		var oXmlItemData = oXMLData['aItems'][i];
		var iItemID = parseXMLData(oXmlItemData.getElementsByTagName('company_id'));
		var iPremium = parseXMLData(oXmlItemData.getElementsByTagName('premium'));
		var sCompanyName = parseXMLData(oXmlItemData.getElementsByTagName('company_name'));
		var sCompanyWeb = parseXMLData(oXmlItemData.getElementsByTagName('company_web'));
		var iPackage = parseXMLData(oXmlItemData.getElementsByTagName('package'));
		var sAddress = parseXMLData(oXmlItemData.getElementsByTagName('address'));
		var sState = parseXMLData(oXmlItemData.getElementsByTagName('state'));
		var sZipCode = parseXMLData(oXmlItemData.getElementsByTagName('zip_code'));
		var sCity = parseXMLData(oXmlItemData.getElementsByTagName('city'));
		var sPhone = parseXMLData(oXmlItemData.getElementsByTagName('phone'));
		var sFax = parseXMLData(oXmlItemData.getElementsByTagName('fax'));
		var sWww = parseXMLData(oXmlItemData.getElementsByTagName('www'));
		var oPathImg = oXmlItemData.getElementsByTagName('company_logo');
		
		if(!oPathImg[0].childNodes[0])
			sPath = '';
		else
			sPath = parseXMLData(oPathImg);
		
		if(iPremium==1){
			var classTR = 'trPremium';
			var classTD = 'tdPremium';
		}else{
			var classTR = '';
			var classTD = '';
		}
	
		sHtml += '<tr class="'+classTR+'">';
		sHtml += '<td style="border-top: 1px solid rgb(238, 238, 238); border-right: 1px solid rgb(238, 238, 238); padding-left: 15px; width: 120px; " class="'+classTD+'">';
		
		if(sPath != '')
			sHtml += '<img src="'+sPath+'" style="border:0">';
    else sHtml += '&nbsp;';
		
		sHtml += '</td>';
		sHtml += '<td style="border-top: 1px solid rgb(238, 238, 238); border-right: 1px solid rgb(238, 238, 238); padding-left: 15px; width: 300px; text-align: left;" class="'+classTD+'">';
		sHtml += '<p class="f_14_blue_light"><b>'+sCompanyName+'</b></p>';
		sHtml += '<p class="f_14_black"><b>'+ sAddress + '</b></p>';
		sHtml += '<p class="f_14_black"><b>'+ sCity + ', ' + sState + ' ' + sZipCode + '</b></p>';
		
		if(sPhone != '' || sFax != '') {
			sHtml += '<p style="padding:0px;margin:0px;">';
			if(sPhone) sHtml += ' Telefony: ' + sPhone + ',';
			if(sFax) sHtml += ' Fax: ' + sFax;
			sHtml += '</p>';
		}
		
		sHtml += '<p style="padding:0px;margin:5px 0px 5px 0px;">';
	
		if(sWww != "")
			sHtml += '<a href="http://'+sWww+'" class="lnk-optionCom"><img src="/img/icn_home.gif" alt="" width="13" height="14" border="0" style="vertical-align:middle;margin:0px 2px 0px 10px;">WWW</a>';
		else
			sHtml += '<span class="lnk-optionComOff"><img src="/img/icn_home_off.gif" alt="" width="13" height="14" border="0" style="vertical-align:middle;margin:0px 2px 0px 10px;">WWW</span>';

		sHtml += '<span style="color:#CC0000;">';
		sHtml += '<img src="/img/icn_writely.gif" alt="" width="14" height="14" border="0" style="vertical-align:middle;margin:0px 2px 0px 10px;"> <a href="/logowanie/">Edycja</a>';
		sHtml += '</span>';
		
		sHtml += '</p>';
		sHtml += '</td>';
		sHtml += '<td style="border-top: 1px solid rgb(238, 238, 238); padding-left: 15px;" class="'+classTD+'">';

		if(iPackage > 2)
			sHtml += '<a href="'+sCompanyWeb+'"><img src="img/btn_show_2.gif" alt="" height="22" width="51"></a>';
		else
			sHtml += '&nbsp;';

		sHtml += '</td>';
		sHtml += '</tr>';

		return sHtml;
	}



function getPage(iNumPage) {
	iPage = iNumPage;
	getXML();
}

	
function setPage(){
	
	var sHtml = '';
	var divCenter = getObject("center");
	var titleCountResults = '';
		
	switch(oXMLData['iAllRecords']){
			case 0 :
				titleCountResults = 'Znaleziono <b>0<b> Firm';
			break;
			
			case 1 :
				titleCountResults = 'Znaleziono <b>1</b> Firmę';
			break;
			
			case 2 :
				titleCountResults = 'Znaleziono <b>2</b> Firmy';
			break;
			
			case 3 :
				titleCountResults = 'Znaleziono <b>2</b> Firmy';
			break;
			
			case 4 :
				titleCountResults = 'Znaleziono <b>2</b> Firmy';
			break;
			
			default :
				titleCountResults = 'Znaleziono <b>' + oXMLData['iAllRecords'] + '</b> Firm';
			break;
	}
		
	sHtml += '<table class="tblResults" style="border-top:0px; padding-left:15px; width:550px">';
	sHtml += '<tr><th colspan="2">';
	sHtml += '	<div class="f_16_black"><b>Wyniki wyszukiwania</b></div>';
	sHtml += '	<div style="float:right;" id="btnPrint"><a href="javascript:void(0);" onClick="javascript:openWindowList(\'/drukuj/\',800,500);"><img src="/img/icn_print.gif" alt="" width="16" height="16" border="0" style="border:1px solid #999999;"></a></div></div>';
	sHtml += '</th></tr>';
		
	for(var i=0; i < oXMLData['aItems'].length; i++){
		if(oXMLData['aItems'][i])
			sHtml += showItem(i);
	}
	sHtml += '</table>';
		
	if(oXMLData['iAllPage']) {

		var nav = Navigation.get( {"iNumPage" : oXML['iNumPage'], "sRight" : "nastepne <span class='decor'>&gt;</span>", "sLeft" : "<span class='decor'>&lt;</span> poprzednie"} );

		nav.iPageCount = iPageCount;
		nav.iAllCount = oXMLData['iAllRecords'];
		nav.sScriptName = 'getPage';
		nav.sExtraParam = '';
		nav.iJsFunction = 1;
		nav.makeHTML();
		
		sTopNav = '<div id="divNavigationTop" style="padding:0px;margin:15px 0px 5px 0px;clear:both;">' + nav.sHtml + '</div>';
		sBottomNav = '<div id="divNavigationBottom" style="padding:0px;margin:15px 0px 15px 0px;clear:both;">' + nav.sHtml + '</div>';
		
		if(nav.sHtml)
		sHtml = sTopNav + sHtml + sBottomNav;
	}
		
	divCenter.innerHTML = '';
	divCenter.innerHTML = '<div id="divPrint"><div id="divList" style="margin-bottom:20px;">'+sHtml+'</div></div>';
}



function dbgArr(arr){
	for(i in arr)
		alert(i+'->'+arr[i]);
}
