Import('other/ImageLayer.js');
Import('ajax/MyAJAXSupport.js');

//Import('native/String.js');

Import('myLib/layers/LayerManager.js');

PageService = {};

Import.clone(Service, PageService);

//---

PageService.queueMonitor = function(){
  var pattern = 'queue_{index}_2';
  MyAJAX.init('queueValues', null, function(obj){
    var items = eval(obj.responseText);
    for(var i = 0; i < items.length; i++){
      var id = pattern.replace('{index}', i);
      document.getElementById(id).innerHTML = items[i];
      //var v = parseInt(document.getElementById(id).innerHTML);
      //document.getElementById(id).innerHTML = v + 1;
    }
  });
};

//---

PageService.openPage = function(href, target){
  var href = href.replaceAll('@', '&');
  if(target == '_self')
    document.location.href = href;
  else
    window.open(href);
};

PageService.closeLayer = function(id) {
  LayerManager.close(id);
};

//---

PageService.changeSelects = function(isShow){
  if(Browser.type == Browser.browsers.IE && Browser.version < 7){
    var items = document.getElementsByTagName('select');
    for(var i = 0; i < items.length; i++){
      items[i].style.visibility = isShow ? 'visible' : 'hidden';
    }
  }
};

/*
PageService.changeSelects = function(isShow){
  //alert(Browser.browsers.IE+'-'+Browser.version);
  if(Browser.type == Browser.browsers.IE && Browser.version < 7){
    var items = [
      ['form_cadences', 'kadencja_id'],
      ['form_date', 'date'],
      ['form_auction_categories', 'kategoria_id'],
      ['form_auction_kinds', 'rodzaj_id'],
      ['form_auction_statusses', 'status_id']
    ];

    for(var i = 0; i < items.length; i++){
      var form = document.forms[items[i][0]];
      if(form != null){
        var field = form[items[i][1]];
        if(field != null){
          field.style.visibility = isShow ? 'visible' : 'hidden';
        }
      }
    }
  }
};
*/

//---

PageService.openImageById = function(id, description){
  var path = Config.getPathToPage() + Config.file.VIEWER + '?id=' + id;
  ImageLayer.showOnce(path, description);
};

PageService.openImage = function(image, description){
  var path = Config.getPathToData() + image;
  ImageLayer.showOnce(path, description);
};

PageService.openAddedImageById = function(id){
  ImageLayer.showById(id);
};

PageService.setImage = function(id, image, description){
  var path = Config.getPathToData() + image;
  ImageLayer.setValues(id, path, description);
};

//---

PageService.openPrintVersion = function(url){
  var params = {
    left:		20,
    top:		20,
    width: 		679,
    height: 	550,
    scrollbars: 'yes',
    menubar: 'yes'
  };
  Service.openWindow(url, params);
};

PageService.openViewNewsletter = function(){
  var params = {
    left:		20,
    top:		20,
    width: 		580,
    height: 	550,
    scrollbars: 'yes',
    resizable:	'yes'
  };
  var path = Config.PATH + Config.dir.PAGE + Config.file.NEWSLETTER;
  Service.openWindow(path, params);
};

PageService.openFormNotifier = function(){
  var params = {
    left:		100,
    top:		100,
    width: 		520,
    height: 	300
  };
  var path = Config.PATH + Config.dir.PAGE +
  Config.file.NOTIFIER + document.location.search;
  Service.openWindow(path, params);
};

//-- =======================================================================================

PageService.setContainerHeightFromSource = function(sourceObj, destObj) {
  var obj1 = document.getElementById(sourceObj) ;
  var obj2 = document.getElementById(destObj) ;
  var obj = null ;
  var height = 0 ;
  var rightMenuTopPadding = 25 ;

 // alert(obj1.id + '=' + obj1.offsetHeight + '\n' + obj2.id + '=' + obj2.offsetHeight) ;
  if((obj2.offsetHeight - rightMenuTopPadding) > obj1.offsetHeight) {//cel wyzszy jak zrodlo
  	obj = obj1 ;
  	height = obj2.offsetHeight - 50 ;
  }
  else {
  	obj = obj2 ;
  	height = obj1.offsetHeight + 20 ;
  }
 // alert(obj.id + '=>' + height) ;
  obj.style.height = height+'px' ;
 // alert(obj1.offsetHeight+', '+obj2.offsetHeight) ;
}

//MAIN HOMEPAGE CALENDAR SEARCHER==========================================================

PageService.redirectToCalendar = function(form, url) {
  var date = '' ;
  if(form['year'].value == '' || form['month'].value == '') {
  		alert('Proszę wybrać miesiąc oraz rok szukanego wydarzenia') ;
 	 	return false ;
  }else {
  		date = form['year'].value + '-' + form['month'].value + '-' ;
   		date += form['day'].value != '' ? form['day'].value : '00' ;
   		document.location.href = url + '&date=' + date ;
  }
}

PageService.loadCalendarMonths = function(form, langId){
	var params = {
		tag: {field: form['month']}
	};
	MyAJAXSupport.loadOptions('getCalendarMonthsByYear', [form['year'].value, langId], params);
};
//======================================================================================
//TABS================================================================================

PageService.mainTopTabs = ['homePageNews', 'homePageCalendar', 'homePageNotices'] ;
PageService.communityTopTabs = ['homePageNews', 'homePageWeekTitles', 'homePageCalendar'] ;
PageService.currentTab = -1 ;
//PageService.informationStart = true ;
//PageService.informationInterval = null ;

PageService.switchTab = function(number, tabs) {
  for(var i = 0 ; i < tabs.length ; i++) {
    var obj = document.getElementById(tabs[i]) ;
    if(i == number) {
      obj.style.display = 'block' ;
      var li = document.getElementById('topTab'+i) ;
      li.className = 'active' ;
      PageService.currentTab = i ;
    }else {
      obj.style.display = 'none' ;
      var li = document.getElementById('topTab'+i) ;
      li.className = '' ;
    }
  }
}

PageService.checkTab = function(number, tabs) {
  var obj = document.getElementById(tabs[number]) ;
  var li = document.getElementById('topTab'+number) ;
  if(obj.style.display == 'none') {
    li.className = '' ;
  }
}

//====================================================================================
//TOP BANNERS SWITCHING=================================================================================

PageService.currentBanners = [] ;
PageService.bannerSetId = 0 ;
PageService.bannerCounter = 0 ;
PageService.bannerStart = true ;

PageService.bannerImgContainerObject = null ;
PageService.bannerImgObject = null ;
PageService.bannerTitleContainerObj = null ;
PageService.bannerHrefObject = null ;
PageService.timer = null ;
PageService.time = 0 ;

PageService.initBannerSwitching = function(time) {
	PageService.bannerImgContainerObj = document.getElementById('bannerTop') ;
	PageService.bannerImgContainerObj.onmouseover = PageService.stopSwitching ;
	PageService.bannerImgContainerObj.onmouseout = PageService.resumeSwitching ;
	PageService.bannerTitleContainerObj = document.getElementById('infoLocBeam') ;

	if(PageService.bannerHrefObject === null) {
		PageService.bannerHrefObject = document.createElement('a') ;
		PageService.bannerImgContainerObj.appendChild(PageService.bannerHrefObject) ;
	}
	if(PageService.bannerImgObject === null) {
		PageService.bannerImgObject = document.createElement('img') ;
		PageService.bannerHrefObject.appendChild(PageService.bannerImgObject) ;
	}

	if(PageService.bannerStart) {
		PageService.bannerStart = false ;
		PageService.switchBanners() ;
	}
	PageService.time = time ;
	PageService.setSwitching(PageService.time, "PageService.switchBanners();") ;
}

PageService.switchBanners = function() {
	if(PageService.bannerCounter == PageService.currentBanners[PageService.bannerSetId].length)
		PageService.bannerCounter = 0 ;

	var bannerName = PageService.currentBanners[PageService.bannerSetId][PageService.bannerCounter]['name'] ;
	var bannerFile = PageService.currentBanners[PageService.bannerSetId][PageService.bannerCounter]['file'] ;
	var bannerHref = PageService.currentBanners[PageService.bannerSetId][PageService.bannerCounter]['href'] ;
	var bannerTarget = PageService.currentBanners[PageService.bannerSetId][PageService.bannerCounter]['target'] ;

	PageService.bannerImgObject.src = bannerFile ;
	PageService.bannerImgObject.alt = bannerName ;
	PageService.bannerImgObject.title = bannerName ;
	PageService.bannerTitleContainerObj.innerHTML = bannerName ;

	if(bannerHref != '') {
		PageService.bannerHrefObject.href = bannerHref ;
		PageService.bannerHrefObject.target = bannerTarget ;
		PageService.bannerHrefObject.title = bannerName ;
	}else {
		PageService.bannerHrefObject.href = 'index.php' ;
		PageService.bannerHrefObject.target = '_self' ;
		PageService.bannerHrefObject.title = 'Strona główna' ;
	}
	PageService.bannerCounter ++ ;
}

PageService.stopSwitching = function() {
	if(PageService.timer) {
		clearInterval(PageService.timer) ;
	}
}

PageService.resumeSwitching = function() {
	PageService.setSwitching(PageService.time, "PageService.switchBanners();") ;
}


//COMMUNITY NEWS SWITCHING=================================================================================

PageService.informations = [] ;
PageService.informations[0] = [] ;
PageService.informations[1] = [] ;
PageService.informations[2] = [] ;

PageService.switchInformation = function(infoIndex) {
	for(var i = 0 ; i < PageService.informations[PageService.currentTab].length ; i++) {
		var obj = document.getElementById(PageService.informations[PageService.currentTab][i]) ;
		var number = document.getElementById('infoNumber'+PageService.currentTab+'-'+(i+1)) ;
		if(i == infoIndex) {
			obj.style.display = 'block' ;
			number.style.fontWeight = 'bold' ;
			number.style.color = '#521A4B' ;
		}else {
			obj.style.display = 'none' ;
			number.style.fontWeight = 'normal' ;
			number.style.color = '#C09BBD' ;
		}
	}
}

//SHARED SWITCHING METHODS=================================================================================

PageService.setSwitching = function(time, method){
	PageService.timer = setInterval(method, time) ;
}

//QUESTIONS IMAGES SWITCHING=================================================================================

PageService.questionImages = [] ;
PageService.questionId = 0 ;
PageService.imageObj = null ;

PageService.initImageSwitching = function(obj, qId) {
	PageService.imageObj = document.getElementById(obj) ;
}

PageService.switchImage = function(index) {
	var image = PageService.questionImages[PageService.questionId][index]['path'] + PageService.questionImages[PageService.questionId][index]['mini'] ;
	var desc = PageService.questionImages[PageService.questionId][index]['opis'] ;
	PageService.imageObj.src = image ;
	PageService.imageObj.alt = desc ;
	PageService.imageObj.title = desc ;
}

