function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

function autoenter(e, divid)
{
     // look for window.event in case event isn't passed in
    if (window.event) { e = window.event; }
    if (e.keyCode == 13)
    {
		  $('#'+divid).click();
    }
}

function normalclass(divid, myfocus)
	{
		var str = $("#"+divid).val();
		if(myfocus)
		{
			$("#"+divid).val("");
			$("#"+divid).attr("class", "none");
		}
	}

function changelanguage(id)
{
	$.post("/bcs/fns/jquery_changelanguage.php", { id: id },
	function(output) {
		//alert(output);
		window.location.reload(true);
	});
}

/*Andy script-----------------------------------*/
function print_now(){
	window.print();
}


function set_cookie(name, value, expires, path, domain, secure) {
  	return this.setrawcookie(name, encodeURIComponent(value), expires, path, domain, secure);
}

/* grid table delete, add, edit--------------------------------------------------------------------------
usage: when you want to delete a row from table built by grid div----------------------------------------
delete_row(id, tablename,idname) name of table,identifier of the row,name of id------------------------*/

function delete_row(id, tablename, idname){
		$('#row_'+id+' div').css('background','#E7C7B2');
		$('#row_'+id+' div:last-child').html("<a href='javascript:void(0)' onclick='delete_row_now("+id+", \""+tablename+"\", \""+idname+"\")'>remove</a> | <a href='javascript:void(0)' onclick='delete_row_undo()'> cancel </a>");		
}
function delete_row_now(id, tablename,idname){
		$.post("script/jquery_delete_row.php", { id: id, tablename: tablename, idname: idname },
		function(output) {
			if(output==1){
				$('#row_'+id).hide();
				window.location.reload();
			}
		});
}
function delete_row_undo(){
	var sessionvar=1;
	$.post("script/jquery_setsession.php", {sessionvar: sessionvar},
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});
}

/*----add row----------------------*/

function replaceAll(txt, replace, with_this) {//replace all matched words in a string
  return txt.replace(new RegExp(replace, 'g'),with_this);
}
//add row function for grid div table
//(1)input: add inputs name after column header separated by'-'
//(2)input size: input size for above inputs separated by'-'
//(3)disregard: add column headers which not to be converted, separated by'-'
//(4)tablename: mysql db tablename
function add_row(input, inputsize, disregard, tablename){
		//get inputs and size as array
		var key=Math.floor(Math.random()*1000) //inputrow id generation
		var ar_input = input.split('-');
		var ar_size = inputsize.split('-');
		var ar_disregard = disregard.split('-');
		
		//get headercolumn div and build outderdiv
		var divclass=$('#tableheader').attr('class');
		var outerdiv="<div id=inputrow_"+key+" class=\""+divclass+"\" style='margin-top:-1px'>";
		
		//using headerdiv, convert it to an input row
		var innerdiv=$('#tableheader').html();
		innerdiv=replaceAll(innerdiv,"greybox",""); //remove greybox
		innerdiv=replaceAll(innerdiv,"control","<a href='javascript:void()' onclick=\"add_row_now("+key+", '"+tablename+"')\" > add </a> | <a href='javascript:void(0)' onclick=\"add_row_undo("+key+")\"> cancel</a>");
		//replace control column to a remove button
		for(i=0; i< ar_input.length; i++){
			if(ar_input[i]=='date'){//input value preset
				var unix = Math.round(+new Date()/1000);
				innerdiv=innerdiv.replace(ar_input[i], 
	        "<input type='text' name=\""+ar_input[i]+"\" value=\""+unix+"\" size="+ar_size[i]+" disabled>");	
			}else{//using names, sizes that we set compared with column names, change them to input fileds
			innerdiv=innerdiv.replace(ar_input[i], 
	        "<input type='text' name=\""+ar_input[i]+"\" size="+ar_size[i]+">");	
			}
		}
		for(j=0; j<ar_disregard.length; j++){
			innerdiv=innerdiv.replace(ar_disregard[j], "");	
		}
	
		var result=outerdiv+innerdiv+"</div>"; //wrap the html

		$('#tableheader').after(result); //attache input row after header column
}
function add_row_now(id, tablename){
	var i=0;
	var ar_name=new Array();
	var ar_value=new Array();
	$('#inputrow_'+id+' input').each(function(){
			ar_name[i]=$(this).attr('name');
			ar_value[i]=$(this).val();
			i+=1;			
	});
	for(i=0; i<ar_name.length; i++){
			if(i==0){
				var name=ar_name[i];
			}else{
				name=name+","+ar_name[i];
			}
	}
	var error=0;
	var error_content='';
	for(i=0; i<ar_value.length; i++){
			//validation comes here-------------------------//
			//add error+=1 and error_content for alert
			$('#inputrow_'+id+' input[name*='+ar_name[i]+']').css('background', '#ffffff');
			if(ar_value[i]==''){
				$('#inputrow_'+id+' input[name*='+ar_name[i]+']').css('background', '#E7C7B2');
				error+=1;
				error_content='fill out all inputs';
			}
			if(i==0){
				var value=ar_value[i];
			}else{
				value=value+","+ar_value[i];
			}
	}
	if(error==0){
		$.post("script/jquery_add_row.php", { name: name, value: value, tablename: tablename },
		function(output) {
			if(output==1){
				//alert(output);
				window.location.reload();
			}else{
				alert('INPUT ERROR: check your input');
			}
		});
	}else{
		alert(error_content);
	}
}
function add_row_undo(key){
	$('#inputrow_'+key).remove();
}

/*edit row--------------------------------*/

function edit_row(id, tablename,idname,column){//column format 'columnName/nth/inputSize-2nd'
	var ar_column = column.split('-');
	var content=$('#row_'+id).html();
	var control_content=$('#row_'+id+' div:last-child').html();//grabl cotent of control
	for(i=0; i<ar_column.length; i++){//convert original to input
			var column_element= ar_column[i].split('/');
			var column_value=$('#row_'+id+' div:nth-child('+column_element[1]+')').html();
			var column_value2='';
			if (column_element[0].toLowerCase().indexOf("xxx") >= 0){
			 	column_value2=column_value.replace("$","");
				column_value2=replaceAll(column_value2,",",""); //remove greybox
				column_element[0]=column_element[0].replace("xxx","");
			}else{
				column_value2=column_value;
			}//if number, remove '$', ',' 
			content=content.replace(">"+column_value+"</div>", "><input type='text' name=\""+column_element[0]+"\" value=\""+column_value2+"\" size=\""+column_element[2]+"\" ></div>");
			content=content.replace(control_content,"<a href='javascript:void(0)' onclick=\"edit_row_now("+id+",'"+tablename+"','"+idname+"')\"> edit </a>&nbsp; | &nbsp;<a href='javascript:void(0)' onclick='edit_row_undo()'> cancel </a>");	
	}
	$('#row_'+id).html(content);//replace new content	
}
function edit_row_undo(){
	var sessionvar=1;
	$.post("script/jquery_setsession.php", {sessionvar: sessionvar},
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});
}
function edit_row_now(id, tablename, idname){
	var j=0;
	var ar_name2=new Array();
	var ar_value2=new Array();
	$('#row_'+id+' input').each(function(){
			ar_name2[j]=$(this).attr('name');
			ar_value2[j]=$(this).val();
			//ar_value2[j]=ar_value2[j].replace(",", "");//remove , sign from number
			j+=1;			
	});
	var setcontent='';
	for(k=0; k<ar_name2.length; k++){
		if(k==0){
			setcontent+=ar_name2[k]+"='"+ar_value2[k]+"'";
		}else{
			setcontent+=","+ar_name2[k]+"='"+ar_value2[k]+"'";	
		}
	}
	//logic to get column name and value
	$.post("script/jquery_edit_row.php", { id: id, tablename: tablename, idname: idname, setcontent: setcontent },
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});	
}
/*---------------------htable control-------------------------------------------------------*/
/*(1)htable delete hrow------------------------------------------*/
function delete_hrow(id, tablename, idname){

		$('#row_'+id).css('background','#E7C7B2');
		
		$('#row_'+id+' td:last-child').html("<a href='javascript:void(0)' onclick='delete_hrow_now("+id+", \""+tablename+"\", \""+idname+"\")'>delete</a> &nbsp;| &nbsp; <a href='javascript:void(0)' onclick='delete_hrow_undo()'> cancel </a>");	
		
}
function delete_hrow_now(id, tablename,idname){
		$.post("script/jquery_delete_row.php", { id: id, tablename: tablename, idname: idname },
		function(output) {
			if(output==1){
				$('#row_'+id).hide();
				window.location.reload();
			}
		});
}
function delete_hrow_undo(){
	var sessionvar=1;
	$.post("script/jquery_setsession.php", {sessionvar: sessionvar},
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});
}
/*(2)htable - add hrow-------------------------------------------*/
function add_hrow(input, inputsize, disregard, tablename){
	if($('tr[id*=inputrow] input').length==0){
		//get inputs and size as array
		var key=Math.floor(Math.random()*1000) //inputrow id generation
		var ar_input = input.split('-');
		var ar_size = inputsize.split('-');
		var ar_disregard = disregard.split('-');
		//get headercolumn
		var rowcontent=$('thead').html();
		rowcontent=replaceAll(rowcontent, "th", "td");
		rowcontent=rowcontent.replace("<tr>", "<tr id='inputrow_"+key+"'>");
		rowcontent=rowcontent.replace("control", "<a href='javascript:void()' onclick=\"add_hrow_now("+key+", '"+tablename+"')\" > add </a> | <a href='javascript:void(0)' onclick=\"add_hrow_undo("+key+")\"> cancel</a>");		
		//replace columnheaders to inputs
		for(i=0; i< ar_input.length; i++){
			if(ar_input[i]=='date'){//input value preset
				var unix = Math.round(+new Date()/1000);
				rowcontent=rowcontent.replace(ar_input[i], 
	        "<input type='text' name=\""+ar_input[i]+"\" value=\""+unix+"\" size="+ar_size[i]+" disabled>");	
			}else{//using names, sizes that we set compared with column names, change them to input fileds
			rowcontent=rowcontent.replace(ar_input[i], 
	        "<input type='text' name=\""+ar_input[i]+"\" size="+ar_size[i]+">");	
			}
		}
		for(j=0; j<ar_disregard.length; j++){
			rowcontent=rowcontent.replace(ar_disregard[j], "");	
		}
		$('thead').after(rowcontent);
	}else{
		alert('Please add one row at a time');
	}
}
function add_hrow(input, inputsize, disregard, tablename){
	if($('tr[id*=inputrow] input').length==0){
		//get inputs and size as array
		var key=Math.floor(Math.random()*1000) //inputrow id generation
		var ar_input = input.split('-');
		var ar_size = inputsize.split('-');
		var ar_disregard = disregard.split('-');
		//get headercolumn
		var rowcontent=$('thead').html();
		rowcontent=replaceAll(rowcontent, "th", "td");
		rowcontent=rowcontent.replace("<tr>", "<tr id='inputrow_"+key+"'>");
		rowcontent=rowcontent.replace("control", "<a href='javascript:void()' onclick=\"add_hrow_now("+key+", '"+tablename+"')\" > add </a> | <a href='javascript:void(0)' onclick=\"add_hrow_undo("+key+")\"> cancel</a>");		
		//replace columnheaders to inputs
		for(i=0; i< ar_input.length; i++){
			if(ar_input[i]=='timestp'){//input value preset
				var unix = Math.round(+new Date()/1000);
				rowcontent=rowcontent.replace(ar_input[i], 
	        "<input type='hidden' name='"+ar_input[i]+"' value=\""+unix+"\" size="+ar_size[i]+" disabled>");	
			}else{//using names, sizes that we set compared with column names, change them to input fileds
			rowcontent=rowcontent.replace(ar_input[i], 
	        "<input type='text' name=\""+ar_input[i]+"\" size="+ar_size[i]+">");	
			}
		}
		for(j=0; j<ar_disregard.length; j++){
			rowcontent=rowcontent.replace(ar_disregard[j], "");	
		}
		$('thead').after(rowcontent);
	}else{
		alert('Please add one row at a time');
	}
}
function add_hrow_undo(key){
	$('#inputrow_'+key+' td').remove();
}
/*(2)htable - edit hrow-------------------------------------------*/
function edit_hrow(id, tablename,idname,column){//column format 'columnName/nth/inputSize-2nd'
	var ar_column=column.split('-');
	for(i=0; i<ar_column.length; i++){
		$('#row_'+id+' td:last-child').html("<a href='javascript:void(0)' onclick=\"edit_hrow_now("+id+",'"+tablename+"','"+idname+"')\"> edit </a>&nbsp; | &nbsp;<a href='javascript:void(0)' onclick='edit_hrow_undo()'> cancel </a>");
		
		var ar_element=ar_column[i].split('/');	
		var temp=$('#row_'+id+' td:nth-child('+ar_element[1]+')').html();
		$('#row_'+id+' td:nth-child('+ar_element[1]+')').html("<input type='text' name='"+ar_element[0]+"' value='"+temp+"' size="+ar_element[2]+">");
		
		
	}
}
function edit_hrow_undo(){
	var sessionvar=1;
	$.post("script/jquery_setsession.php", {sessionvar: sessionvar},
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});
}
function edit_hrow_now(id, tablename, idname){
	var j=0;
	var ar_name2=new Array();
	var ar_value2=new Array();
	$('#row_'+id+' input').each(function(){
			ar_name2[j]=$(this).attr('name');
			ar_value2[j]=$(this).val();
			//ar_value2[j]=ar_value2[j].replace(",", "");//remove , sign from number
			j+=1;			
	});
	var setcontent='';
	for(k=0; k<ar_name2.length; k++){
		if(k==0){
			setcontent+=ar_name2[k]+"='"+ar_value2[k]+"'";
		}else{
			setcontent+=","+ar_name2[k]+"='"+ar_value2[k]+"'";	
		}
	}
	//logic to get column name and value
	$.post("script/jquery_edit_row.php", { id: id, tablename: tablename, idname: idname, setcontent: setcontent },
	function(output) {
		if(output==1){
			window.location.reload();
		}
	});	
}
/*expand menu----------------------------------------------*/
$(document).ready(function(){					   
	$('.expandmenu > li > ul').hide().click(function(e){
		e.stopPropagation();
	});
	$('.expandmenu > li').toggle(function(){
		  $(this).css('background-position', 'right -20px')
		  .find('ul').slideDown();
	  }, function(){
		$( this ).css('background-position', 'right top')
		  .find('ul').slideUp();
	 });
});
/*clickdropdown menu--------------------------------------*/
$(document).ready(function(){
	$( '.clickdropmenu > li > ul' )
	.hide()
	.click(function( e ){
		e.stopPropagation();
	});
  $('.clickdropmenu > li').click(function(){
  	$('.clickdropmenu > li > ul').hide();
	if($(this).is('.open')){
	}else{
	$('.clickdropmenu > li').removeClass('open').css({background:'','border-color': '','box-shadow': '', color:'' ,'text-shadow': ''});
	}
    if($(this).is('.open')){
		$( this ).css({background:'','border-color': '','box-shadow': '', color:'','text-shadow': '' }).removeClass('open').find('ul').hide();
    }else{
		$(this).addClass('open').css({background:'-moz-linear-gradient(center top, #b0b0b0, #cccccc) repeat scroll 0 0 transparent','border-color': '#757575 #989898 #B8B8B8','box-shadow': '0 1px 0 #FDFDFD, 0 2px 5px rgba(0, 0, 0, 0.3) inset', color:'#ffffff', 'text-shadow': '0 1px 1px rgba(0, 0, 0, 0.4)' })
      .find('ul').show();
	}
  });
});
