//Front end Java Script File

jQuery(document).ready(function() 
{
});


var SearchType 			= "partial"; //exact, whole, partial - Search method

//var searchDisplayType  	= "newpage"; // overlay =  below search textbox , newpage = on to the same page

var searchDisplayDivId = (searchDisplayType	=="overlay")?"search_dropdown":"content";//search_dropdown = overlay below search textbox , content = same page

//to store the default search text box value
var searchDefaultText='';
jQuery(document).ready(function() 
{
	//initiate gallery search pagination only for assortiment/its sub pages
	if(document.getElementById("gallerySearchNavigation"))
	{
		gallerySearchPagination();
	}
	//call to function to change the background on page refresh
	changeBackgroundImg();
	
	//to clear default text the search text box 
	jQuery("#sKey").click(function(){
		searchDefaultText=jQuery(this).attr("value");
		jQuery(this).attr("value","");
	});
	
	jQuery("#sKey").blur(function(){
		if(jQuery(this).attr("value")=='')
			jQuery(this).attr("value",searchDefaultText);
	});
	
	
	/* Search Related */
	reset_highlight();

	jQuery("#sKey").keyup(reset_highlight);				// On KeyUp activate KeyHighlight
	
	jQuery("#gallerySearch").click(gallerySearch);
	
	jQuery("#sSubmit").click(submitSearchForm);			// OnClick of search button display the search results
	
	// On Press Enter Key in username or password, submit the Search form
		jQuery("#sKey").keyup(function(e) 
		{
				 var key;
				if(window.event)
					  key = window.event.keyCode;     //IE
				 else
					  key = e.which;     //firefox
					 
					 if (searchDisplayType =="overlay")
					 {
					 	submitSearchForm();
					 	return true;
					 }
					 else
					 {
					 if( (key == 13 || key == 3) )
					 {	  
						//jQuery("#sSubmit").click();	
						submitSearchForm();
						return false;
					 }
					 else
						  return true;
				}		  
		 });	
  
   		// Close Search Results  
	   	jQuery("#search_close").click(clearSearchForm);							// Close the Search Results 
	   
});


// Submit the Search Form to search content on other pages
function submitSearchForm(clearKey)
{
		if(jQuery("#sKey").hasClass('site_search'))
			 jQuery("#sKey").removeClass("site_search").addClass("input_search");
	//w3isEmpty("sKey","","");
	if (clearKey=="searchClearClear" && searchDisplayType =="overlay") 
	{
		jQuery("#sKey").attr("value",searchDefaultText);
		 jQuery("#"+searchDisplayDivId).addClass("cms_hide");
		 jQuery("#sKey").removeClass("input_search").addClass("site_search");	
	}
	
	var sKey = jQuery("#sKey").attr("value");						// get the Keyword from search text box
		
	 if (sKey=="" && clearKey!="searchClearClear")					// if the keyword is SearchClearClear hide it
	 {
	 	//jQuery("#"+searchDisplayDivId).html("");
	 	
	 	jQuery("#"+searchDisplayDivId).addClass("cms_hide");
	 	
	 }
	// else
	 	
	if (globalErr==1)
	{	
		if(sKey!='')
		{
			jQuery.ajax(
				{
					url:siteURL+"search/searching.html",
					type:'POST',
					dataType:"html",
					data: {searchKey:sKey},
					success: function(msg) 
					{
						
							//jQuery("#content").html(msg);
							if (jQuery("#"+searchDisplayDivId).hasClass("cms_hide") &&  (clearKey!="searchClearClear") ) 
								jQuery("#"+searchDisplayDivId).removeClass("cms_hide");
								
								
						//	alert(searchDisplayDivId)
							if (clearKey!="searchClearClear")
								jQuery("#"+searchDisplayDivId).html(msg);
							
								//var getSearchResultHeight = document.getElementById('search_dropdown').offsetHeight;
								//document.getElementById('scroller_main').style.height=(getSearchResultHeight-4)+"px";							
								//document.getElementById('scroller_inner').style.height=(getSearchResultHeight-64)+"px";
							var options = {
									exact:SearchType, //exact, whole, partial
									style_name_suffix:false,
									highlight:".highlightable",
									keys: jQuery("#sKey").attr("value")
								  }
							
							//jQuery("#left_content").SearchHighlight(options);
							jQuery(document).SearchHighlight(options);
							
							reset_highlight();
							
							jQuery("#sKey").keyup(reset_highlight);	
							jQuery("#sSubmit").click(submitSearchForm);
							
							if (clearKey!="searchClearClear")
								searchPagination();  // Enable the search Overlay Pagination
							
							
					},
					error: function(XMLHttpRequest, textStatus, errorThrown)
					{
						alert('Error occured : Search Submit'+XMLHttpRequest+" \n "+textStatus + "\n" + errorThrown);	
					}
				});
		}
	 }
	 
	globalErr=1;
}

// String Highlight 
function reset_highlight() 
	  { //alert(document.getElementById("sKey").value);
		 var options = {
			exact: SearchType,
			style_name_suffix:false,
			highlight:".highlightable",
			keys: jQuery("#sKey").attr("value")
		  }
		  
		  // Remove the Old Hightlight
			jQuery("span[@class^=hilite]").each(function(){
			  var hilite = jQuery(this);
			  var txt_el = hilite[0].previousSibling;
			  if(txt_el && txt_el.nodeType==3)
				txt_el.data += hilite.text();
			  else {
				hilite.before(hilite.text());
				txt_el = hilite[0].previousSibling;
			  }
			  if(hilite[0].nextSibling && hilite[0].nextSibling.nodeType==3) {
				txt_el.data += hilite[0].nextSibling.data;
				$(hilite[0].nextSibling).remove();
			  }
			  hilite.remove();
			});	
		
		 // Seach the entire document 
		 jQuery("#content").SearchHighlight(options);
		 //jQuery("#left_content").SearchHighlight(options);
	  }
	  	
//clear clearSearchForm
function clearSearchForm()
{

// Empty the Textbox
	jQuery("#sKey").attr("value",'');
	
	
	// call the search to update the search key
	 submitSearchForm('searchClearClear');
	// jQuery(this).attr("value",searchDefaultText);	
	 
	 //hide the search results
	 //jQuery("#search_dropdown").removeClass('hide');
	 //alert(searchDisplayType);
	 if (searchDisplayType=="overlay")
	 {
	 	if (!jQuery("#"+searchDisplayType).hasClass("cms_hide")) 
	 		jQuery("#"+searchDisplayType).addClass("cms_hide");
	 }
}

function searchPagination()
{	
	//jQuery.getScript("_scripts/_JS/paging.js");
	pager1 = new Pager('overlaySearchResultId', 3); 
	pager1.init(); 
	pager1.showPageNav('pager1', 'searchOverlayPageNavigation'); 
	pager1.showPage(1);
}

function gallerySearchPagination()
{
	//jQuery.getScript("_scripts/_JS/paging.js");
	jQuery("#gallerySearchNavigation").css("display","block");
	pager2 = new galleryPager('gallery_search_result', 6); 
	pager2.init(); 
	pager2.showPageNav('pager2', 'gallerySearchNavigation'); 
	pager2.showPage(1);
}

function showLanguageDropdown()
	{
	if(!jQuery("#language_dropdown").hasClass('cms_show'))
		{
		//document.getElementById("language_dropdown").style.display="block";
	 	jQuery("#language_dropdown").removeClass("cms_hide");
	 	jQuery("#language_dropdown").addClass("cms_show");
		}
	}
	
function hideLanguageDropdown()
	{
	if(!jQuery("#language_dropdown").hasClass('cms_hide'))
		{
		//document.getElementById("language_dropdown").style.display="block";
	 	jQuery("#language_dropdown").removeClass("cms_show");
	 	jQuery("#language_dropdown").addClass("cms_hide");
		}
	}
	


/* function for changing the back ground on request*/
function changeBackgroundImg()
{
var bodyid = jQuery('.home').attr("id");
var newbodyid = bodyid.split("_");	
  jQuery.ajax({
    type: "POST",
	data:{page_id:newbodyid[1]},
    url: siteURL+"random_bg.php",
    success: function(msg){
	backgroundimage = siteURL+"_images/background_images/_original/"+msg;
    	document.getElementById('source_image').src = backgroundimage;
	$('#source_image').css({'width': '100%'});
//	var windowheight = $(document).height();
	var windowheight = $(this.scrollHeight).height();
	$('#source_image').css({'height': windowheight+'px'});
	updateImageDimensions();

//    	jQuery('.home').css("background-image","url("+backgroundimage+")");
//  	jQuery('.home').css("background-position","center top");
//  	jQuery('.home').css("background-attachment","fixed");
//  	jQuery('.home').css("background-repeat","no-repeat");
	//document.getElementById('home').style.background = 'url("'+backgroundimage+'") fixed no-repeat center top';
	
	//jQuery('#home').css("backgroundposition","fixed");
	
   }
 });
	//document.getElementById('main_container').style.background = 'url("_images/_background/_original/'+backgroundimage+'")';
}

function findPageHeight(){
	if (typeof window.innerHeight!='undefined') {
		return window.innerHeight;
	}
	if (document.documentElement && typeof
		document.documentElement.clientWidth!='undefined' &&
		document.documentElement.clientHeight!=0) {
		return document.documentElement.clientHeight;
	}
	if (document.body && typeof document.body.clientWidth!='undefined') {
		return document.body.clientHeight;
	}
	return (null);
}

function updateImageDimensions() {
	imgWidth = $('#source_image').width();
	imgHeight = $('#source_image').height();
	bodyWidth = document.body.clientWidth;
	bodyHeight= findPageHeight();
	//alert(bodyHeight+ ' - ' + imgHeight);
	// alert(bodyHeight);
	if(bodyHeight >= imgHeight)
	{
		$('#source_image').css({'height':bodyHeight+'px'});
		$('#source_image').css({'width':'auto'});
		//alert(imgHeight);
	}
	if(bodyWidth > imgWidth)
	{
		$('#source_image').css({'width':'100%'});
		$('#source_image').css({'height':'auto'});
	}
	else if(bodyWidth < imgWidth)
	{
		$('#source_image').css({'height':bodyHeight+'px'});
		$('#source_image').css({'width':'auto'});
	}
}

function gallerySearch(){
	var search = jQuery("#search").attr("value");						// get the Keyword from search text box
	var cmsId = jQuery("#cmsId").attr("value");						// get the id of cms page
	jQuery.ajax({
	    type: "POST",
	    url: "gallerySearch.php",
	    data:{search:search,cmsId:cmsId},
	    success: function(msg){	    	
	    	if(msg != ''){
	    		jQuery("#gallery_search_result").attr("innerHTML",msg);	
	    		jQuery.getScript(siteURL+"_cms/_js/prettyphoto.js");
		    	gallerySearchPagination();
	    	}
	    	else{
				jQuery("#gallerySearchNavigation").css("display","none");
	    		jQuery("#gallery_search_result").attr("innerHTML",'<li style="width:681px;">Sorry, er zijn geen zoekresultaten gevonden.</li>');
	    	}
   	
	   }
	 });
}

	
