//Front nisar end Java Script File
/* plugin for autogrow textarea*/
(function($){$.fn.autogrow=function(options){this.filter('textarea').each(function(){var $this=$(this),minHeight=$this.height(),lineHeight=$this.css('lineHeight');var shadow=$('<div></div>').css({position:'absolute',top:-10000,left:-10000,width:$(this).width()-parseInt($this.css('paddingLeft'))-parseInt($this.css('paddingRight')),fontSize:$this.css('fontSize'),fontFamily:$this.css('fontFamily'),lineHeight:$this.css('lineHeight'),resize:'none'}).appendTo(document.body);var update=function(){var times=function(string,number){for(var i=0,r='';i<number;i++)r+=string;return r;};var val=this.value.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/&/g,'&amp;').replace(/\n$/,'<br/>&nbsp;').replace(/\n/g,'<br/>').replace(/ {2,}/g,function(space){return times('&nbsp;',space.length-1)+' '});shadow.html(val);$(this).css('height',Math.max(shadow.height()+20,minHeight));}
$(this).change(update).keyup(update).keydown(update);update.apply(this);});return this;}})(jQuery);

jQuery(document).ready(function() 
{
	
		
		/* code for auto grow textarea */
		    $("textarea.large").autogrow();
		    $("textarea.medium").autogrow();
		    $("textarea.small").autogrow();
		    
	// function to load header Images dynamically with JSON
	function loadHeaderImages()
	{
	  var json_array_object = eval(array_of_header_images);
	  var str='';
	  var imgStr='';
	  jQuery.each(json_array_object, function(key, value) {
	  str+='<img src="_images/_header_images/_frontend/'+value+'" alt=""/>';
	  });
	  jQuery(".nivoSlider").append(str);
	
	}
	 loadHeaderImages();		
});


$(window).load(function() {
    $('#slider').nivoSlider({
    
    effect:'sliceDownRight', // Specify sets like: 'fold,fade,sliceDown'
    slices:15, // For slice animations
    boxCols: 8, // For box animations
    boxRows: 4, // For box animations
    animSpeed:500, // Slide transition speed
    pauseTime:3000, // How long each slide will show
    startSlide:0, // Set starting Slide (0 index)
    directionNav:true, // Next & Prev navigation
    directionNavHide:true, // Only show on hover
    controlNav:false, // 1,2,3... navigation
    controlNavThumbs:false, // Use thumbnails for Control Nav
    controlNavThumbsFromRel:false, // Use image rel for thumbs
    controlNavThumbsSearch: '.jpg', // Replace this with...
    controlNavThumbsReplace: '_thumb.jpg', // ...this in thumb Image src
    keyboardNav:true, // Use left & right arrows
    pauseOnHover:false, // Stop animation while hovering
    manualAdvance:false, // Force manual transitions
    captionOpacity:0.8, // Universal caption opacity
    prevText: 'Prev', // Prev directionNav text
    nextText: 'Next', // Next directionNav text
    beforeChange: function(){}, // Triggers before a slide transition
    afterChange: function(){}, // Triggers after a slide transition
    slideshowEnd: function(){}, // Triggers after all slides have been shown
    lastSlide: function(){}, // Triggers when last slide is shown
    afterLoad: function(){} // Triggers when slider has loaded
});

});

//=========================================//
//=========pagination js===================//
//=========================================//
function Pager(tableName, itemsPerPage) {
    this.tableName = tableName;
    this.itemsPerPage = itemsPerPage;
    this.currentPage = 1;
    this.pages = 0;
    this.inited = false;
    
    this.showRecords = function(from, to) {        
        var rows = document.getElementById(tableName).getElementsByTagName("li");
        // i starts from 1 to skip table header row
        for (var i = 1; i < rows.length; i++) {
            if (i < from || i > to)  
                rows[i].style.display = 'none';
            else
                rows[i].style.display = '';
        }
    }
    
    this.showPage = function(pageNumber) {
    	if (! this.inited) {
    		
    		//alert("not inited");
    		return;
    	}
    	else
    	{
    		
    		if (jQuery("#"+tableName) && pageNumber!=1 && tableName != "overlaySearchResultId")
    		{
    			var offset = jQuery("#"+tableName).offset();
     			window.scrollTo(offset.left,(offset.top-40));
    		}
    		
    	}
		
		// w3 fix
    		var pgFirst = document.getElementById('pgFirst');
			var pgNext = document.getElementById('pgNext');
			var pgPrev = document.getElementById('pgPrev');
			var pgLast = document.getElementById('pgLast');
			
			
			if (pageNumber == this.pages) {
				pgNext.style.visibility = 'hidden';
				pgLast.style.visibility = 'hidden';
			}
			else{
				pgNext.style.visibility = 'visible';
				pgLast.style.visibility = 'visible';
			}
			if (pageNumber == 1){
				pgFirst.style.visibility = 'hidden';
				pgPrev.style.visibility = 'hidden';
			}
			else{
				pgFirst.style.visibility = 'visible';
				pgPrev.style.visibility = 'visible';
			}
		
		// end
		
        var oldPageAnchor = document.getElementById('pg'+this.currentPage);
        oldPageAnchor.className = 'pg-normal';
        
        this.currentPage = pageNumber;
        var newPageAnchor = document.getElementById('pg'+this.currentPage);
        newPageAnchor.className = 'pg-selected';
        
        var from = (pageNumber - 1) * itemsPerPage + 1;
        var to = from + itemsPerPage - 1;
        this.showRecords(from, to);
    };   
    
    this.prev = function() {
        if (this.currentPage > 1)
            this.showPage(this.currentPage - 1);
    };
    
    this.next = function() {
        if (this.currentPage < this.pages) {
            this.showPage(this.currentPage + 1);
        }
    };                       
    
    this.init = function() {
    		if (document.getElementById(tableName))
    		{
		        var rows = document.getElementById(tableName).getElementsByTagName("li");
		        var records = (rows.length - 1); 
		        this.pages = Math.ceil(records / itemsPerPage);
		        this.inited = true;
		     }
		     else
		      	this.inited = false;  

    };

    this.showPageNav = function(pagerName, positionId) {
    	
    	if (! this.inited) {
    		//alert("not inited");
    		return;
    	}
    	var element = document.getElementById(positionId);
    	var pagerHtml = '';
    	var LastElemHTML = '';
    	
    	if(this.pages>=1)
    		pagerHtml+= '<span id="pgFirst" onclick="' + pagerName + '.showPage(1);" class="pg-normal">First</span> ';
    	
    	 	pagerHtml += '<span id="pgPrev" onclick="' + pagerName + '.prev();" class="pg-normal">Previous</span> ';
    	 	
        for (var page = 1; page <= this.pages; page++) 
        {
            pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="' + pagerName + '.showPage(' + page + ');">' + page + '</span> ';
            
            if(page==this.pages)
            	LastElemHTML+= '<span id="pgLast" onclick="' + pagerName + '.showPage('+page+');" class="pg-normal">Last</span> ';
            	
        }
        pagerHtml += '<span id="pgNext" onclick="'+pagerName+'.next();" class="pg-normal">Next</span>';
        pagerHtml += LastElemHTML;
        
        element.innerHTML = pagerHtml;
    };
}
//=========================================//
//=========w3formvalidation js=============//
//=========================================//
// Form Validation related JavaScript Document
// vereist, 
/*
Functions Index
	w3isEmpty(fieldId,errDiv,errMsg) 		// Check Null values in Text Fields
	w3isSelected(fieldIds,errDiv,errMsg)	// Check a radio button/checbox is selected
	w3isEmail(fieldId,errDiv,errMsg)		// Validate Email Address, if Entered
	w3isAllEmpty(fieldIds,errDiv,errMsg)		// Validate Email Address, if Entered
	w3LTrim(str)							// Remove trailing spaces
	w3RTrim(str)							// Remove leading spaces
	w3Trim(str)								// Remove trailing and leading spaces
*/

var es ="";
var ee =""

// check for empty fieldvalues and set the globalErr value to 0
function w3isEmpty(fieldId,errDiv,errMsg)
{
	// check for empty
	var val1 = w3Trim(jQuery("#"+fieldId).attr("value"))
	if(val1=="")
	{	
		jQuery("#"+fieldId).addClass("errorRequired");
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).html(es+errMsg+ee);
		globalErr = "0"; // udpate global error variable
	}
	// check for value is not populated from auto fill
	else if (val1 == jQuery("#"+fieldId).attr("name"))
	{
		jQuery("#"+fieldId).addClass("errorRequired");
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).html(es+errMsg+ee);
		globalErr = "0"; // udpate global error variable	
	}
	else
	{
		jQuery("#"+fieldId).removeClass("errorRequired");
		if (errDiv!="" &&  errMsg!="") jQuery("#errDiv").html("");
	}
}

// check for empty radiobuttons to be selected atleast one and set the globalErr value to 0
function w3isSelected(fieldIds,errDiv,errMsg)
{
	// count for empty
	var count = 0;
	
	for(i=0;i<fieldIds.length;i++)
	{
		if( (jQuery("#"+fieldIds[i]).attr("checked"))) count++;
	}
	if (count==0)
	{
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).html(es+errMsg+ee);
		globalErr = "0"; // udpate global error variable
	}
	else
	{
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).text("");	
	}

}

// check for valid Email Address and set the globalErr value to 0
function w3isEmail(fieldId,errDiv,errMsg)
{
	var val1 = w3Trim(jQuery("#"+fieldId).attr("value"));
	
	var regEmail = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/;
	
	if(val1!="")
	{	
		if (val1=="example@example.com")
		{
			jQuery("#"+fieldId).addClass("errorRequired");
			globalErr = "0"; // udpate global error variable
		}
		
		if(!(val1).toUpperCase().match(regEmail))
		{
			jQuery("#"+fieldId).addClass("errorRequired");
			if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).html(es+errMsg+ee);
			globalErr = "0"; // udpate global error variable
		}
		else
		{
			jQuery("#"+fieldId).removeClass("errorRequired");
			if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).text("");
		}	
	
	}
	
}

// Check from the textboxes, any one is filled or not
function w3isAllEmpty(fieldIds,errDiv,errMsg)
{
	// count for empty
	var count = 0;
	
	for(i=0;i<fieldIds.length;i++)
	{	
		if(w3Trim(jQuery("#"+fieldIds[i]).attr("value"))) count++;
	}
	if (count==0)
	{
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).html(es+errMsg+ee);
		globalErr = "0"; // udpate global error variable
	}
	else
	{
		if (errDiv!="" &&  errMsg!="") jQuery("#"+errDiv).text("");	
	}
}

// Remove Left blank spaces
function w3LTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
    var j=0, i = s.length;

   while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    j++;

    s = s.substring(j, i);
  }

  return s;
}

// Remove Right blank spaces
function w3RTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {

    var i = s.length - 1;       

    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
      i--;

    s = s.substring(0, i+1);
  }

  return s;
}

// Remove Left and Right blank spaces
function w3Trim(str)
{
  return w3RTrim(w3LTrim(str));
}

