//BEGIN: redirect to login page if session out 
/*var urlParameters = window.location.href;
parameterPair = urlParameters.split('/');
var checkval	=	'1';
for(var i=0;i<parameterPair.length;i++) {
	if(parameterPair[i]=='Manage')
		checkval	=	0;
}
if(checkval==1)
	var timer = setInterval('checkSessionOut()', 12000 );*/
//END: redirect to login page if session out 

/*
 * Function  : updateTips
 * Purpose   : Display error message or tips
 * Arguments : t - text to display, elmError - id of DOM element to dispaly message 
 */
function updateTips(t,elmError) {
	var container = elmError + '_container';
	//console.log(container + ' , ' + t);
		//alert(container);
	$("#" + elmError).text(t);
	$("#" + container).show();
	$("#errorFlag").val(1); 

}
//Charecters
function checkLength(element,text,min,max,elmError) 
{
	if (checkBlank(element,text,elmError)) 
	{ //check for blank
		var tips = '';
		var length = element.val().length;
		if ((min != 0 && max != 0) &&  ( length > max || length < min ) )
			tips = "Length of " + text + " must be between "+min+" to "+max+".";
		else if((min !=0 && max == 0) && (length < min))
		{
				tips =  "Length of " + text + " must be minimum "+min+" letters.";
		}
		else if((min == 0 && max != 0) && (length > max))
		{
				tips = "Length of " + text + " must be maximum "+max+" letters."
		}
		if (tips != 0) {
			element.addClass('ui-state-error');
			updateTips(tips,elmError);
			return false;
		}
		return true;	
	}
}
//BEGIN:Number length
function checkLengthNumber(element,text,min,max,elmError,pageget) 
{
	if (checkBlank(element,text,elmError)) 
	{ //check for blank
		var tips = '';
		var length = element.val().length;
		
		if(pageget == 'employee')
			lengthget	=	2;
		else if(pageget == 'promotional')
			lengthget	=	4;
		if((length < lengthget))
		{
			tips =  "Length of " + text + " must be minimum "+min+" digit.";
		}
		if(pageget == 'employee')
		{
			if(element.val()==00)
			{
				tips =  "Length of "+ text + "greater then 0.";
			}
		}
		if(pageget == 'promotional')
		{
			if(element.val()==0000)
			{
				tips =  "Length of "+ text + " greater then 0. ";
			}
		}	
		if (tips != 0){
			element.addClass('ui-state-error');
			updateTips(tips,elmError);
			return false;
		}
		return true;	
	}
}
//END:Number 


function checkBlank(element,text,elmError) {
	if($.trim($(element).val()) == "") {
		element.addClass('ui-state-error');
		updateTips(" " + text + " is required.", elmError);
		return false;
	} else {
		return true;
	}
}

function checkOption(element,text,elmError){
	var flag  = $(element).is(':checked');
	if(flag  == false) {
		element.addClass('ui-state-error');
		updateTips(" * " + text + " is required.", elmError);
		return false;
	}
	return true;
}
function checkBlank1(element,text,elmError) {
	if($.trim($(element).val()) == "") {
		//element.addClass('ui-state-error');
		updateTips("" + text + " are required.", elmError);
		return false;
	} else {
		return true;
	}
}
/*
function checkNull(element,text,elmError) {
	if($.trim($(element).val()) == "") {
		element.addClass('ui-state-error');
		updateTips(" * " + text + " should have been choosed.", elmError);
		return false;
	} else {
		return true;
	}
}*/

function isNumberKey(evt) {
	var keyCode = (evt.which?evt.which:(evt.keyCode?evt.keyCode:0))	 
	// backspace, delete, left arrow, right arrow, tab keys
	if ((keyCode == 8) || (keyCode == 46) || (keyCode == 37) || (keyCode == 39) || (keyCode == 9) ) return true;
	if ((keyCode < 48) || (keyCode > 57)) return false;
	return true;
}
function checkRegexp(element,regexp,text,elmError) {
	//alert('S'+ regexp.exec(element.val()) + 'E');
	if ( !( regexp.test( element.val() ) ) ) {
		element.addClass('ui-state-error');
		updateTips(text, elmError);
		return false;
	} else {
		return true;
	}
}
function checkRegexp1(element,regexp,text,elmError) {
	//alert('S'+ regexp.exec(element.val()) + 'E');
	if ( !( regexp.test( element.val() ) ) ) {
		//element.addClass('ui-state-error');
		updateTips(text, elmError);
		return false;
	} else {
		return true;
	}
}

function compareElements(element1, element2, text,elmError){
	if($.trim($(element1).val()) != $.trim($(element2).val()) ) {
		element2.addClass('ui-state-error');
		updateTips(text, elmError);
		return false;
	} else {
		return true;
	}
}

//Begin: Paging 
//set the newly selected per page value
setPerPage = function(obj) {
	$("#per_page").val(obj);
	$("#cur_page").val(1);
	$("#paging").submit();
}

//set paging control values - field name to sort, sorting type, current page
setPagingControlValues = function(cur_page, field_name, order_type) {
	$("#order_by").val(cur_page)
	$("#order_type").val(field_name)
	$("#cur_page").val(order_type)
	$("#paging").submit();
}
//End: Paging

//Begin : Display  Default text
displayDefaultText = function(obj,string) {
	if (obj.value == '')
		obj.value = string;
}
//End: Display  Default text
//Begin : Clear Default text
clearDefaultText = function(obj,string) {
	if (obj.value == string)
		obj.value = '';
}
//End: Clear Default text
//BEGIN : check and uncheck all the check box in the from
check = function(id)
{
	$("#checklist").hide();
	$("#unchecklist").hide();
	var frm = 	document.getElementById(id); 
	if (frm.titlecheckbox.checked)
	{
		checkAll(id);
		$("#checklist").hide();
		$("#unchecklist").show();
	}	
	else
	{
		uncheckAll(id);
		$("#checklist").show();
		$("#unchecklist").hide(); 
	}	
}
//check all the check box in the form
checkcertificate = function(id)
{
	$("#checklist").hide();
	$("#unchecklist").hide();
	var frm = 	document.getElementById(id); 
	if (frm.titlecheckbox.checked)
	{
		checkAll(id);
		$("#checklist").hide();
		$("#unchecklist").show();
	}	
	else
	{
		uncheckAll(id);
		$("#checklist").show();
		$("#unchecklist").hide(); 
	}	
}
//check all check box using link check
linkcheck = function(id,getFlag)
{
	$("#checklist").hide();
	$("#unchecklist").hide();
	var frm = 	document.getElementById(id); 
	if(getFlag== '1') { 
		checkAll(id);
		$("#checklist").hide();
		$("#unchecklist").show();
	}
	if(getFlag== '0') { 
		uncheckAll(id);
		$("#checklist").show();
		$("#unchecklist").hide(); 
		
	}
}
//Delete all function form load
formSumbit = function(id)
{
	var frm = 	document.getElementById(id); 
	$("form")[1].submit();
}
//Un check all the check box in the form
confirmDelete = function(form_obj)
{			
	flag=0;
	for (var i = 0; i < form_obj.elements.length; i++){
	  if(form_obj.elements[i].checked){
			flag = 1;
			break;
	  }
	}
	if(flag==0)
	{
		alert('Please select at least a record to proceed with deletion');
		return false;
	}
	return (confirm('Are you  sure to delete?'));
}
confirmprint = function(form_obj)
{			
	flag=0;
	for (var i = 0; i < form_obj.elements.length; i++){
	  if(form_obj.elements[i].checked){
			flag = 1;
			break;
	  }
	}
	if(flag==0)
	{
		alert('Please select at least a state to print certificate');
		return false;
	}
	return (true);
}
confirmDel = function(form_obj)
{	
	flag=0;
	if(document.forms.discountlist.row_id.length>1) { 
		for (var i = 0; i < document.forms.discountlist.row_id.length; i++){
		  if(document.forms.discountlist.row_id[i].checked){
				flag = 1;
				break;
		  }
		}
	}
	else if (document.forms.discountlist.row_id.checked) { 
		flag = 1;
	}
	if(flag==0) { 
		alert('Please select at least a record to proceed with deletion');
		return false;
	}
	if(flag==1)
		if(confirm('Are you  sure to delete?'))
			document.forms.discountlist.submit();
}
//Un check all the check box in the form submitSociale
checkAll = function(id)
{
	var frm = document.getElementById(id);
	for (var i = 0; i < frm.elements.length; i++) {
	  if (frm.elements[i].name.indexOf('[]') > 0)
 	 	  frm.elements[i].checked = true;
	 }
	if (frm.titlecheckbox)
		frm.titlecheckbox.checked = true;
}
//Un check all the check box in the form
uncheckAll = function(id)
{
	var frm = document.getElementById(id);
	for (var i = 0; i < frm.elements.length; i++) { 
	   if (frm.elements[i].name.indexOf('[]') > 0)
 	 	  frm.elements[i].checked = false;
	 }
	if (frm.titlecheckbox)
		frm.titlecheckbox.checked = false;
}

/*
$('#check-all').click(function(){
	 $('#example input[type=checkbox]').checkBox('changeCheckStatus', true);
	 return false;
 });
	 
$('#uncheck-all').click(function(){ 
	$('#example input[type=checkbox]').checkBox('changeCheckStatus', false);
	return false; 
}); */

//BEGIN: phone number validation
/*function validatePhoneNo(phone,element)
{
alert(phone);

var redigit	=	('/^\d{3}d{-}d{3}d{-}d{4}$',phone)
	
	if((redigit)==-1)
	{
		alert("false");
		return false;
	}	
	else
	alert("false");
	element.addClass('ui-state-error');
		updateTips(" * " + text + " is valid.");
	 
		return false;
  /*if(ereg('^[2-9]{1}[0-9]{2}-[0-9]{3}-[0-9]{4}$', phone))
     return true;
  else
     return false;
}*/
//END: phone number validation


/*
 * Function : countCharacter
 * Purpose  : Count number of character entered
 * elmTarget: id of DOM element where you entered text
 * elmCount : id of DOM element where you display remaing character count
 * maxlimit : Maximum number of character disply
 */
function countCharacter(elmTarget, elmCount, maxLimit){

	var charCount = $("#" + elmTarget).val().length;
	if (charCount > maxLimit) {
	    var notes = $("#" + elmTarget).val(); 
		 $("#" + elmTarget).val(notes.substring(0, maxLimit)); //Truncate the overflow text
		 //Display error message if needed
	}
	else {
		 $("#" + elmCount).val(maxLimit - charCount);  //Display remaining keystroke count
	}
}
//End: Count number of character entered
/*
 * Function :
 * Purpose  : Hide error container element
 * elmarray : dom element array
 *
 */
function hideDomElement(elmArray) {
	$.each(elmArray, function() {
		container = this + '_container';
		$('#' + container).hide();
	 });
}
//End: Hide DOM element

//BEGIN Is number
isNumber = function(evt) {
	var keyCode = (evt.which?evt.which:(evt.keyCode?evt.keyCode:0))	 
	// backspace, delete, left arrow, right arrow, tab keys
	if ((keyCode == 8) || (keyCode == 46) || (keyCode == 37) || (keyCode == 39) || (keyCode == 9)) return true;
	if ((keyCode < 48) || (keyCode > 57)) return false;
	return true;
}
//End Is number

//Begin: Date Validation
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

/*
 * Function : compareDate
 * Purpose  : Compare two date 
 * datefrom : from date
 * dateto   : to date
 */
 
function compareDate(datefrom,dateto)
{
	var st = datefrom.split("-")
	var ed = dateto.split("-")
	var strMonth 	= st[0];
	var strDay 		= st[1];
	var strYear 	= st[2];
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	
	var endMonth 	= ed[0];
	var endDay 		= ed[1];
	var endYear 	= ed[2];
	if (endDay.charAt(0)=="0" && endDay.length>1) endDay=endDay.substring(1);
	if (endMonth.charAt(0)=="0" && endMonth.length>1) endMonth=endMonth.substring(1);
	var smonth=parseInt(strMonth);
	var sday=parseInt(strDay);
	var syear=parseInt(strYear);
	
	var emonth=parseInt(endMonth);
	var eday=parseInt(endDay);
	var eyear=parseInt(endYear);
	
	if(syear > eyear)
	{
		return false;
	}
	if(syear == eyear && smonth > emonth)
	{
		return false;
	}
	if( (syear == eyear) && (smonth == emonth) && (sday>eday) )
	{
		return false;
	}
	return true;
}
//End: Date Validation

/* 
 * Function  		:  checkDateRange
 * Purpose   		:  Compare two date and display error message if any
 * startDate 		:  start date element object
 * endDate   		:  end date element object
 * txt1      		:  error message
 * txt2      		:  error message
 * elmError1 		:  start date error message container element object
 * elmError2        :  end date error message container element object
 * currentDateFlage :  1- start date should be today's date or greater
 */
function checkDateRange(startDate, endDate, text1, text2, elmError1, elmError2, currentDateFlag){
	var dt = new Date();
	var y  = dt.getFullYear();
	var m  = dt.getMonth()+1;
	var d  = dt.getDate();
	var today = m+'-'+d+'-'+y;
	var startDateFlag = checkDate(startDate, text1, elmError1);
	var endDateFlag   = checkDate(endDate, text2, elmError2);
	if ( startDateFlag == true && endDateFlag == true) {
		if ( currentDateFlag == 1) {
			if (compareDate(today, $.trim($(startDate).val())) == false ) {
				startDate.addClass('ui-state-error');
				updateTips( text1  + " date should be today's date or greater",elmError1);
				return false;
			}
		}
		if (compareDate($.trim($(startDate).val()) , $.trim($(endDate).val()) ) == false ) {
			endDate.addClass('ui-state-error');
			updateTips("Please enter valid date range",elmError2);
			return false;
		}
	}
	return false;
}

/*
 * Function : checkDate
 * Purpose  : Check for valid date
 * element  : date element id
 * text     : error message
 * elmError : error message container element object
 */
function checkDate(element,text,elmError) {
	if (checkBlank(element,text,elmError) == false )  //check for blank
		return false;
	var dtStr = $.trim($(element).val());
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strMonth=dtStr.substring(0,pos1);
	var strDay=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr = strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month = parseInt(strMonth);
	day   = parseInt(strDay);
	year  = parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		element.addClass('ui-state-error');
		updateTips("The date format should be : mm-dd-yyyy",elmError);
		return false;
	}
	
	if (strMonth.length<1 || month<1 || month>12){
		element.addClass('ui-state-error');
		updateTips("Please enter a valid month",elmError);
		return false;
	}
	
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		element.addClass('ui-state-error');
		updateTips("Please enter a valid day",elmError);
		return false;
	}
	
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		element.addClass('ui-state-error');
		updateTips("Please enter a valid 4 digit year between "+minYear+" and "+maxYear,elmError);
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		element.addClass('ui-state-error');
		updateTips("Please enter a valid date",elmError);
		return false;
	}
	return true;
}


function checkDateType(element,text,elmError, typeflag) {
	if (checkDate(element,text,elmError) == false )  //check for blank
		return false;
	var dt = new Date();
	var y  = dt.getFullYear();
	var m  = dt.getMonth()+1;
	var d  = dt.getDate();
	var today = m+'-'+d+'-'+y;
	var message = '';
	if (typeflag == 1) { //check for past date
		if (compareDate(today, $.trim($(element).val())) == false ) {
			element.addClass('ui-state-error');
			updateTips( text + " date should be today's date or greater",elmError);
			return false;
		}
	}
	else {  //check for future date
		if (compareDate(today, $.trim($(element).val())) == false ) {
			element.addClass('ui-state-error');
			updateTips("start date should not be today's date or greater",elmError);
			return false;
		}
	}
	return true;
}
/*
function compareDate(startDate, endDate, text1, text2, elmError1, elmError2, currentDateFlag){
	var dt = new Date();
	var y  = dt.getFullYear();
	var m  = dt.getMonth()+1;
	var d  = dt.getDate();
	var today = m+'-'+d+'-'+y;
	var startDateFlag = checkDate(startDate, text1, elmError1);
	var endDateFlag   = checkDate(endDate, text2, elmError2);
	if ( startDateFlag == true && endDateFlag == true) {
		if ( currentDateFlag == 1) {
			if (compareDate(today, $.trim($(startDate).val())) == false ) {
				startDate.addClass('ui-state-error');
				updateTips("Enter a valid card number",elmError1);
				return false;
			}
		}
		if (compareDate($.trim($(startDate).val()) , $.trim($(endDate).val()) ) == false ) {
			endDate.addClass('ui-state-error');
			updateTips("Please enter valid date range",elmError2);
			return false;
		}
	}
	return false;
}*/
//BEGIN:Phone number validation
/*function numbersonly(f, evt)
{
	tel='1 (';
	//var val = f.value.split('');
	var val = f.split('');
	//var keyCode = (evt.which?evt.which:(evt.keyCode?evt.keyCode:0))
	//if ((keyCode < 48) || (keyCode > 57)) return false;
	//if ((keyCode == 8) || (keyCode == 46) || (keyCode == 37) || (keyCode == 39) || (keyCode == 9)) //return true;
	if(evt.keyCode != 37 && evt.keyCode != 39 && evt.keyCode != 35 && evt.keyCode != 8 && evt.keyCode != 46 && evt.keyCode != 17 && evt.keyCode != 36 && evt.keyCode != 35)
	{
		for(var i=0; i<val.length; i++)
		{
			if( val[i]=='1' && val[(i+1)]==' ' && val[(i+2)]=='(' )
			{
				val[i]=''
				val[(i+1)]=''
				val[(i+2)]=''
			}
			if( val[i]==')' )
				val[i]=''
			if( val[i]=='-' )
				val[i]=''
			if( val[i]=='' )
				val[i]=''
			if( val[i]==' ' )
				val[i]=''
		}
		if(val.length>16)
			len = 16
		else
			len = val.length
		
		for(var i=0; i<len; i++)
		{
			if(i==5)
				val[i]=val[i]+')'
			if(i==6)
				val[i]=val[i]+' '
			if(i==10)
				val[i]=val[i]+'-'
			tel = tel+val[i]
		}
		f.value=tel;
	}
}*/
//END:Phone number validation

//BEGIN:Phone number validation
function phonenumberFormet(phoneNumber,fieldvalue)
{
	numberlength	=	phoneNumber.length;
	if(numberlength >0)
	{
		var tv	=	phoneNumber.replace(/\D/g,'');
		phoneNumber	=	'('+tv.slice(0,3)+') '+tv.slice(3,6)+'-'+tv.slice(6,10)
		$("#"+fieldvalue).val(phoneNumber);
	}	
}
//END:Phone number validation

