// new layout page changes
var rollImage = new Array();
// find now image
rollImage[0]= new Image(84,38);  // width,height
//rollImage[0].src = "images/find-now-home.jpg";
rollImage[1] = new Image(83,38);
//rollImage[1].src = "images/Find-now_home_rollover.jpg";
// add event venue image
rollImage[2]= new Image(211,30);  // width,height
//rollImage[2].src = "images/add-your-venue-or-events.jpg";
rollImage[3] = new Image(211,30);
//rollImage[3].src = "images/add-your-venue-or-events_rollover.jpg";

rollImage[4]= new Image(84,38);  // width,height
//rollImage[4].src = "images/Find-now.jpg";
rollImage[5] = new Image(83,38);
//rollImage[5].src = "images/Find-now_rollover.jpg";

function swapImage(obj,index){
var cntx = document.getElementById('cntx');
if(cntx!= null)cntx = cntx.value;

rollImage[0].src = cntx+"images/find-now-home.jpg";
rollImage[1].src = cntx+"images/Find-now_home_rollover.jpg";
rollImage[2].src = cntx+"images/add-your-venue-or-events.jpg";
rollImage[3].src = cntx+"images/add-your-venue-or-events_rollover.jpg";
rollImage[4].src = cntx+"images/Find-now.jpg";
rollImage[5].src = cntx+"images/Find-now_rollover.jpg";
obj.src = rollImage[index].src;
    return true;
}

// search method of result.vm

function resetOldValues(_form) {
	_form.locationProvided.value = '1';
	if( _form.sortType.value != '3' )
		_form.sortType.value = '0';
	_form.searchInDescription.value = 'false';
	_form.categoryId.value = '0';
	_form.subCategoryId.value = '0';
	_form.brandCategoryId.value = '0';
	_form.displayFutureEvents.value = 'true';
	_form.displayFutureResultLink.value = 'false';
	_form.pageId.value = '0';
}

function searchInDescription() {
     var _form = document.gdp_search_form;
     setSearchCriteria();
     _form.searchInDescription.value = "true";
     _form.submit();
}

function searchExactMatchVenues() {
   var _form = document.gdp_search_form;   
   setSearchCriteria();
  _form.pageId.value="0" ;
  _form.sortType.value = "1";
  _form.method.value="search"; 
  _form.exactMatchVenues.value = "true" ;
  _form.submit();
  submitOK = false;  
} 
function searchExactMatchVenuesMapView() {
   var _form = document.gdp_search_form;   
   setSearchCriteria();
  _form.pageId.value="0" ;
  _form.sortType.value = "1";
  _form.method.value="search"; 
  _form.exactMatchVenues.value = "true" ;
	_form.showAllCategories.value="No";
  _form.submit();
  submitOK = false;  
} 



function showEventDetail(titleId, venueId) {
  var _form = document.gdp_search_form;  
  setSearchCriteria();
  _form.titleId.value=titleId;
  _form.venueId.value=venueId;
  _form.method.value="getEventDetail";
  _form.submit();
}
function showVenue(venueId) {   
    var _form = document.gdp_search_form;
    setSearchCriteria();
   _form.venueId.value=venueId; 
   _form.method.value="getVenue";
   _form.submit();
 }  

function searchEventsWithInc(dayInc) {  

  var _form = document.gdp_search_form;
  setSearchCriteria();
  _form.pageId.value="0";
  _form.dayIncrement.value = dayInc;
  _form.submit();  

}

function searchEventsForCategory(categoryId) {

   var _form = document.gdp_search_form;
   setSearchCriteria();
   _form.pageId.value="0" ;
  _form.categoryId.value=categoryId;
  _form.subCategoryId.value = "0"
  _form.submit();   
  
}

function searchEventsForSubCategory(subCategoryId) {
     var _form = document.gdp_search_form;     
     setSearchCriteria();
     _form.pageId.value="0" ;
     _form.subCategoryId.value = subCategoryId ;     
     _form.submit();   
 } 

  function searchEventsForSubCategoryMapView(subCategoryId,categoryId) {
     var _form = document.gdp_search_form;     
     setSearchCriteria();
     _form.subCategoryId.value = subCategoryId ;   
		 _form.categoryId.value=categoryId;
		 _form.showAllCategories.value="Yes";
		 _form.pageSize.value ="10";
     _form.submit();   
 } 
 
function searchEventsForCategoryMapView(categoryId) {

   var _form = document.gdp_search_form;
   setSearchCriteria();
  _form.categoryId.value=categoryId;
	_form.showAllCategories.value="Yes";
	_form.pageSize.value ="10";
  _form.submit();   
  
}
 
function showPage(page) {            
      var  _form = document.gdp_search_form;
      setSearchCriteria();
      _form.pageId.value=page;      
      _form.submit();
      return true;
   
}
function searchSortBy(sort) {        
      var  _form = document.gdp_search_form;
       setSearchCriteria();
       _form.pageId.value="0" ;
      _form.sortType.value = sort;
      _form.submit();
      return true;
}

function searchLocations(_form) {        
      var  _form = document.gdp_search_form;
      setSearchCriteria();
     _form.method.value="loctions";
     _form.submit();
      return true;
}

function changPageSize(pageSize) {        
	var _form = document.gdp_search_form;
	setSearchCriteria();   
	_form.pageId.value="0" ; 
	_form.pageSize.value = pageSize;
	rememberPref(pageSize);
	_form.submit();
	//return true;
}

function removeSpecialChars(searchString) {
	    var sb = '';
	    var i, c, code;
	    var length = searchString.length;	    
	    for (i = 0; i <length;  i++) {
	        c = searchString.charAt(i);	       
					
	       if (c == '\\' || c == '+' || c == '!' || c == '('  || c == ')' || c == ':' || c == '#' 
	        || c == '^' || c == '[' || c == ']'  || c == '\"' || c == '{' || c == '}' || c == '<' 
	       	|| c == '~' || c == '*' || c == '?'  || c == '|'  || c == '&' || c == '%' || c == '>'
	       	|| c == '.' || c == '@' || c == '\'' || c == '`' || c == '$' || c == '!' || c == ';' 
			|| c == '=' || c == '/' || c == ',' ) {	       	
             // 45 for '-' and 95 for '_'  =*|\-_)(*&^%$#@!~`<>,.?/"':;
	      } else {
	         sb = sb + c;
	         
	      }
	   }
	   return sb;	    
	    
}

function setWeekendDates(_form) {
     var dateFrom = new Date();  
     var dateTo = new Date();
	 var FRIDAY = 5;
	 var SATURDAY = 6 ;
	 var SUNDAY = 0;	 	 		   
	 
	  var day = dateFrom.getDay();
	  if( day > SUNDAY && day  <= FRIDAY)  {
	     day = FRIDAY - day;
		 dateFrom.setDate(dateFrom.getDate()+day);
		 dateTo.setDate(dateFrom.getDate() + 2);		 
	  } else if(day == SATURDAY) {
    	 dateTo.setDate(dateFrom.getDate() + 1);		 
	  }
	 _form.gdp_whenfrom.value =  dateFrom.print("%d/%m/%Y");   
	 _form.gdp_whento.value =  dateTo.print("%d/%m/%Y");
	 _form.dateCriteria.value = 4;	
	 
}
function setTomorrowDate(_form) {
	var date = new Date();
	var time = date.getTime();
	var when = "";
	var till = "";
	time += Date.DAY; date = new Date(time); 
	when =  date.print("%d/%m/%Y");
	till= when;
	_form.gdp_whenfrom.value = trim(when);
	_form.gdp_whento.value = trim(till);	
	_form.when.value = trim(when);
	_form.till.value = trim(till);
	_form.dateCriteria.value = 3;
}
function setAllDates(gdp_main){
	var val = gdp_main.gdp_when.value;
	val = parseInt(val);
	var date = new Date();
	var time = date.getTime();
	var when = "";
	var till = "";
	when =  date.print("%d/%m/%Y");
	gdp_main.gdp_whenfrom.value = trim(when);
	gdp_main.gdp_whento.value = trim(till);	
	gdp_main.dateCriteria.value = val;	
}
function loadCategoriesCounts(){   
   UserManager.getRefineCategories(false, false, loadCategoriesCountsHandler);
}


function loadCategoriesCountsHandler(source) {
   var obj= _$id('categoriesCounts');
   if( source == "error" ) {
      //displayErrorMessage("Error processing your request.");	   
   } else   {          
     obj.innerHTML = source;
     var obj= _$id('paginationBar');
     if(obj) {
        loadResultPaging();  
     } else {     
        setTimeout('loadResultPaging()', 1100);
     }
   }
	
}

function loadCategoriesCountsMap(){
   UserManager.getRefineCategories(false,false, loadCategoriesCountsHandlerMap);
}
function loadCategoriesCountsHandlerMap(source) {
   var obj= _$id('categoriesCounts');
   if( source == "error" ) {
      //displayErrorMessage("Error processing your request.");	   
   } else   {          
     obj.innerHTML = source;
     var obj= _$id('paginationBar');
     if(obj) {
        loadResultPaging();  
     } else {     
        setTimeout('loadResultPaging()', 2000);
     }
   }
	adjustView();
}
function loadResultPaging(){
   var obj;
   UserManager.getPagination(function(source) {
       if( source == "error" ) {
 		//     displayErrorMessage("Error processing your request.");	   
		} else   {          
     	  obj = _$id('paginationBar');
	      if(obj) obj.innerHTML = source;  
	   }
   });

}

function detailCounter(field,maxlimit) {
	if (field.value.length > maxlimit)  {
		field.value = field.value.substring(0, maxlimit);
	}
}
function addUserDetail(){
	   var userDetail = $("#userDetail").val();	   
	   if(jQuery.trim(userDetail) == '') {
	    	SNG_alert('Please add something about yourself');
	   } else {
			UserManager.updateUserDetail(userDetail, function(source){
				if(source == "logout") {
					SNG_alert('Login session expired');
				} else if(source == "error" ) {
					SNG_alert('Error during update your detail');
				}else if(source == "success") {
				  var area = $("#detailArea");				  
				  area.find("p").html(textToHtml(userDetail));
				  $('#detailBox').hide();
				  area.show();
				}
				
			});
	   }	   
}
function SNG_userLocation(postcode,town){	
	if(town != '') {
		$('#myTown').val(town);
	}	
	if(postcode != '') {
		$('#myPostcode').val(postcode);  	
	}
	
}
function  hideLocationBox() {
	$('#myTown').val($('#myTown').defaultValue);
	$('#myPostcode').val($('#myPostcode').defaultValue);
	$('#locationBox').hide();	 
	$('#locationArea').show();
}

function addUserLocation() {
	var town = $('#myTown').val();
	var postcode = $('#myPostcode').val();
	town = jQuery.trim(town);
	postcode = jQuery.trim(postcode);	
	if(town == $('#myTown').attr("defaultValue"))		
		town = '';
	if( postcode == $('#myPostcode').attr("defaultValue"))
		postcode = '';
	
	
	if(town == '' || postcode == '' ) {
		SNG_alert('Please Enter you location');
	} else {
		UserManager.updateUserLocation(postcode, town, function(source){
			if(source == "logout") {
				SNG_alert('Login session expired');
			} else if(source == "error" ) {
				SNG_alert('Error during update your location');
			} else {						 
				 $('#locationBox').hide();
				 $('#postcodeArea').text(postcode);
				 $('#townArea').text(town);
				 $('#locationArea').show();
				 SNG_UserProfileCompletion();
				 if( source != "success") {
					 var pc = source.split(",");					 
					 load(pc[0], pc[1]);
					 var link = '<a href="javascript:void(0)" onclick="window.open(\''+ $("#cntx").val() +'controller.web?method=getLargeMap&';
					 link += 'latitude='+ pc[0] +'&longitude='+ pc[1] + '&townCity='+ town +  '&postCode='+  postcode;
					 link += '\',\'Large Map\',\'scrollbars=no,resizable=no,width=700,height=500\')">View large map</a>' ;
					 $('#largeMap').html(link);
					 $('#largeMap').show();					 
					 $('#postcode').val(postcode);
					 if($('#alertPostcode').length > 0)
						 $('#alertPostcode').val(postcode);
					 
				 }
				 $('#townCity').val(town);
				 
			} 
			
		});
	}
	
	

}

function textToHtml(string) {
	string = string.replace(/\r\n/g,"<BR/>");
	string = string.replace(/\r/g,"<BR/>");
	string = string.replace(/\n/g,"<BR/>");
	return string;
}
function removeUserBookmark(bookmarkId){		
	UserManager.removeUserBookmark(bookmarkId, function(source){
		if(source == "logout") {
			SNG_alert('Login session expired');
		} else if(source == "error") {
			SNG_alert('Error deleting bookmark.')			 	
		} else {
			$('#myWozzonBookmarks').html(source);
			$(".SNG_srArrow").hover(function () {
			      $(this).addClass("SNG_background");
				  $(this).removeClass("SNG_srArrow");				  
			    },function () {
			      $(this).addClass("SNG_srArrow");
				  $(this).removeClass("SNG_background");				  
			 });
		}
	});
}

function deleteSearchAlert(alertId){
	if(alertId != 0){
		UserManager.deleteSearchAlert(alertId, deleteSearchAlertHandler);
	}else{
		SNG_alert('Error deleting alert.');
	}
}
function deleteSearchAlertHandler(source){
	if(source == "logout") {
		SNG_alert('Login session expired');
	} else if(source == "error") {
		SNG_alert('Error deleting alert.');		
	}else{
		$('#tab3').html(source);
		alertListHover();
	}
}
function addSearchAlert() {
    var pc = $("#alertPostcode");
    if(pc.val() == '')  {
      SNG_alert('Please Enter postcode');
    } else {
    	UserManager.addMyWozzonSearchAlert(pc.val(), $("#alertSearchLink").val() , function(source){
    		if(source == "logout") {
				SNG_alert('Login session expired');
			} else if(source == "error") {
    			SNG_alert('Error adding alert.')			 	
    		} else {
    			$('#tab3').html(source);
				alertListHover();
				SNG_UserProfileCompletion();
    		}
		});
    }
}

function alertListHover() {
		$(".SNG_mwAlert ul li").mouseover(function() {
			$(this).find("a").css('color', '#FFFFFF');
			$(this).css('background', '#C3001F');			 			 
			var src = $(this).find("img").attr("src").replace(".png", "_hover.png");			
			$(this).find("img").attr("src", src);

		});
		
		$(".SNG_mwAlert ul li").mouseout(function() {
			$(this).css('background', '#FFFFFF');
			$(this).find("a").css('color', '#C3001F');		
			var src = $(this).find("img").attr("src").replace("_hover", "");			
			$(this).find("img").attr("src", src);
			
		});	 
		
}

function setSaveSearchAlert(str){
	var obj = _$id('search_alert');
	obj.innerHTML=str;
	obj.style.display='';
}
function setSearchAlert(email){
	
	
	
	if("" != email && checkEmail(email)){
		var searchUrl = alertSearchLink;/*document.location.href;*/
		var sLabel = _$id('lb_search').innerHTML;
		if( _$id('wozzon_header_logStatus').innerHTML.indexOf('logout(1)') == -1){
			if(!_$id('chk_terms').checked){
				//alert('Please accept woZZon Terms & Conditions');
				SNG_displayLoginError($('#termsEmailAlert'), "Please accept woZZon Terms & Conditions");
				return;
			}
		}
		UserManager.setSearchAlert(email, sLabel, searchUrl, setSearchAlertHandler);
		
	}else{
		if("" == email){
			SNG_displayLoginError($('#alert_email'), "Please enter an email address");
		}else if(!checkEmail(email)){
			SNG_displayLoginError($('#alert_email'), "Please enter a valid email address");
		}
	}
}
function searchAlertNewUser(alertEmail, receiveEmail){
	if(alertEmail && alertEmail != ""){
	UserManager.searchAlertNewUser(alertEmail, receiveEmail, searchAlertNewUserHandler);
	}else{
		SNG_alert('Alert email is empty');
	}
}
function searchAlertNewUserHandler(source){
	if(source == 'error'){
		SNG_alert('error creating new account');
	}else{
		//hideDivs('saveSearchAlertPopup');
		SNG_closeFancyBox();
		_$id('response_msg').innerHTML = 'New account created, Welcome email has been sent.'
		//showDivs('search_saved')
		SNG_messagePopup('search_saved');
	}
}
function setAlertMsg(msg){
var alrt_msg = _$id('alrt_msg');
alrt_msg.innerHTML=msg;
showDivs('div_alert');

}

function setSearchAlertHandler(source){
	
	var obj_save =_$id('saveSearchAlertPopup');
	//var search_saved =_$id('search_saved');
	var alrt_eml = _$id('alert_email');
	var login_form =_$id('login_form');
	
	if(source == '1'){//success
	//obj_save.style.display='none';
		SNG_closeFancyBox();
		//search_saved.style.display='';
		SNG_messagePopup('search_saved');
		
		if(login_form.login_email.value != alrt_eml.value) {
			login_form.login_email.value = alrt_eml.value;
			login_form.login_password.value='';
		}
	
	}else if(source == '2'){//Exception occurs
		
		setAlertMsg('Error processing request');
	}else if(source == '0'){
		//wozzon user not found
		searchAlertNewUser(alrt_eml.value, _$id('recv_eml').checked);
		//setAlertMsg('Please enter a valid email address');
	}
	alrt_eml.value='';
	_$id('chk_terms').checked='';
	_$id('recv_eml').checked='checked';
	
}

function trimToDisplay(txt, limit){
	if( txt == null) return "";
	if(txt.length > limit){
		return txt.substring(0,limit) + '..';
	}else{
		return txt;
	}
}
function checkSearchSection(searchObj, locObj){

	if(searchObj.value == searchNameText){
		searchObj.style.color='#999999';
	}
	
	if(searchObj.value== '')
	{
		searchObj.style.color='#999999';
		searchObj.value=searchNameText;
	}

	if(locObj.value == '')
	{	
		locObj.style.color='#000000';
	}else{
		locObj.style.color='#000000';
	}

}